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 https://code.google.com/p/pyodbc/downloads/list
    (I used v2.1.8) extract it somewhere on disk, cd into the directory, and run

    sudo python setup.py install

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

    [MySQL]
    Description = ODBC for MySQL
    Driver = /usr/lib/odbc/libmyodbc.so
    FileUsage = 1

  4. Test it:

    python
    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: https://code.google.com/p/pyodbc/wiki/GettingStarted

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