BSD-3-Clause licensed by Bryan O'Sullivan
Maintained by Paul Rouse
This version can be pinned in stack with:mysql-0.1.5@sha256:ba2f123f14017d2b626eb49b91d55248714a319d9f85539cc4a1f883b4cf2e5a,2120

Module documentation for 0.1.5

mysql: bindings to the mysqlclient library

This library is a Haskell binding to the MySQL mysqlclient client library. It is a fairly faithful, low level library that implements most of the MySQL client API. The major departure from the C API is that in Haskell, resource management is mostly automatic and safe.

This library deliberately avoids the question of providing a “good” API. Its purpose is to serve as a base upon which higher-level libraries can be built.


This library is BSD-licensed under the terms of the MySQL FOSS License Exception.

Since this library links against the GPL-licensed mysqlclient library, a non-open-source application that uses it may be subject to the terms of the GPL.

To do

  • Add support for prepared statements. The prepared statement API is huge and of dubious performance value, so it’s not currently a priority for us. Patches welcome!

Get involved!

We are happy to receive bug reports, fixes, documentation enhancements, and other improvements.

Please report bugs via the github issue tracker.

Master git repository:

  • git clone git://


This library was written by Bryan O’Sullivan, [email protected], to whom all of the credit is due. It is now being maintained by Paul Rouse, [email protected].



  • Add Semigroup instance for FieldFlags
  • Fix some warnings
  • Drop testing under GHC 7.8 / lts-2


  • Expose mysql_thread_end() as endThread


  • Fix bystestring-valued connectOptions sometimes not being null terminated at the correct place (avoid unsafeUseAsCString).


  • Fix setup for cabal 1.24
  • New maintainer and GitHub location - with many thanks to Bryan O’Sullivan for all of the past work on this module, and for facilitating the transfer of maintenance responsibility.