with a little more in-depth exploration of the MySQL async API. The problem seems to be that that (undocumented) API does not handle EAGAIN and that there's no way to connect asynchronously (mysql_connnect always blocks).
Compare with PostgreSQL, which has had an async API for a long time:
http://jan.kneschke.de/2008/9/9/async-mysql-queries-with-c-a...
with a little more in-depth exploration of the MySQL async API. The problem seems to be that that (undocumented) API does not handle EAGAIN and that there's no way to connect asynchronously (mysql_connnect always blocks).
Compare with PostgreSQL, which has had an async API for a long time:
http://developer.postgresql.org/pgdocs/postgres/libpq-async....
and for which I wrote a Twisted library that does fully asynchronous connection building and query execution: https://github.com/wulczer/txpostgres.
Since the asynchronous API is exposed in psycopg2, the Python connector library, it should be trivial to hook it up to Tornado as well.