Asynchronous MySQL binding for Node.js using libmysqlclient.
This module has been tested with Node.js versions 0.8.26, v0.10.25 and 0.11.10
These bindings provides all general connection/querying functions from the MySQL C API,
and partial support for prepared statements. Connect
, query
and fetchAll
are asynchronous.
This module also includes support for asynchronous querySend
from internals of libmysqlclient
.
I started this project in 2010 when Node.js was growing. Ryan had plans to write this binding as part of GSoC. It is now used by many projects and has more than 10 contributors, who are listed in the AUTHORS file. I also maintain the Node.js MySQL bindings benchmark which shows how mysql-libmysqlclient performs.
Node-mysql-libmysqlclient's source code is available in the Github repo and you can report issues at the project tracker. Visit the module site for API docs and examples. You can also read some extra information in wiki.
To build this module you must install the libmysqlclient library and the development files for it.
mysql_config
is used to determine the paths to the library and header files.
To install these dependencies, execute the commands below for the OS you're running.
For CentOS:
#> yum install mysql-devel
For openSUSE:
#> zypper install libmysqlclient-devel
For Debian-based systems/Ubuntu:
#> apt-get install libmysqlclient-dev
Alternatively, you can use aptitude
for Debian-based systems.
Please refer to your system's documentation for more information and feel free to send me a patch for this readme.
You can install this module via NPM:
$> npm install mysql-libmysqlclient
You can also build latest source code from repository. Please refer to the developers documentation for more information.
This module is written in collaboration with many peoples listed on GitHub contributors page. List of authors ordered by first contribution also available.
If you are interested in wide MySQL usage in Node.JS applications, leave your comments to the code. To contribute any patches, simply fork this repository using GitHub and send a pull request to me. Thanks!
All information about development use and contribution is placed in the DEVELOPMENT file.
This module is used by Taobao guys for their distributed MySQL proxy Myfox-query module. There is long time developed Node.js ORM library called noblerecord. It is inspired by Rails and widely used by Noblesamurai. If you are looking for lightweight Node.js ORM on top of this module, try mapper by Mario Gutierrez.
Node-mysql-libmysqlclient itself is published under MIT license. See license text in LICENSE file.