Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
PyMySQL: Pure-Python MySQL Client



This package contains a pure-Python MySQL client library. The goal of PyMySQL is to be a drop-in replacement for MySQLdb and work on CPython, PyPy and IronPython.



The last stable release is available on PyPI and can be installed with pip:

$ pip install PyMySQL

Alternatively (e.g. if pip is not available), a tarball can be downloaded from GitHub and installed with Setuptools:

$ # X.X is the desired PyMySQL version (e.g. 0.5 or 0.6).
$ curl -L | tar xz
$ cd PyMySQL*
$ python install
$ # The folder PyMySQL* can be safely removed now.

Test Suite

If you would like to run the test suite, create database for test like this:

mysql -e 'create database test_pymysql  DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;'
mysql -e 'create database test_pymysql2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;'

Then, copy the file .travis.databases.json to pymysql/tests/databases.json and edit the new file to match your MySQL configuration:

$ cp .travis.databases.json pymysql/tests/databases.json
$ $EDITOR pymysql/tests/databases.json

To run all the tests, execute the script

$ python

A tox.ini file is also provided for conveniently running tests on multiple Python versions:

$ tox


DB-API 2.0:

MySQL Reference Manuals:

MySQL client/server protocol:

PyMySQL mailing list:!forum/pymysql-users


PyMySQL is released under the MIT License. See LICENSE for more information.

Something went wrong with that request. Please try again.