A lightweight Haskell binding to the C mysqlclient API
Haskell C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Database/MySQL Expand documentation on threaded use Oct 30, 2016
cbits Block signals properly for a pile more API entry points Jun 4, 2011
include Block signals properly for a pile more API entry points Jun 4, 2011
.gitignore Add .stack-work to .gitignore Oct 25, 2016
.travis.yml Revert "Use mysql as extra-dep in tests on recent snapshots" Oct 22, 2016
Setup.hs Resolve merge conflicts with #15 Oct 24, 2016


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://github.com/paul-rouse/mysql.git


This library was written by Bryan O'Sullivan, bos@serpentine.com, to whom all of the credit is due. It is now being maintained by Paul Rouse, pyr@doynton.org.