MySQL + ODBC + Python

How to connect Python programs to a MySQL database using ODBC on Ubuntu 10.04 LTS (Lucid)

This guide assumes you already have a MySQL server set up somewhere

  1. Install needed packages:

    sudo apt-get install unixodbc unixodbc-dev python-dev libmyodbc

    (libmyodbc is the MySQL driver for ODBC)

  2. Get current version of pyodbc:
    If you have python-setuptools installed:

    sudo easy_install pyodbc

    Or with pip (from python-pip):

    sudo pip install pyodbc

    Or if all else fails, download the latest source archive from
    (I used v2.1.8) extract it somewhere on disk, cd into the directory, and run

    sudo python install

  3. Add a reference to MySQL driver to ODBC config file /etc/odbcinst.ini:

    Description = ODBC for MySQL
    Driver = /usr/lib/odbc/
    FileUsage = 1

  4. Test it:

    import pyodbc
    cn = pyodbc.connect('DRIVER={MySQL};SERVER=localhost;DATABASE=test;UID=root;PWD=abc;')

For more examples of pyodbc usage the official documentation is very good:

This was pieced together from a number of sources which I’ll credit when I find the links again…