[obsolete] pure Javascript MySQL network driver for node.js
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples Patch from Sannis Mar 31, 2010
lib [BUG] Proper error handling Apr 24, 2010
AUTHORS [BUG] insert_id is incorrect for values greater than 250. (patch from… Apr 24, 2010
LICENSE Could only connect and authorize to MySQL Feb 13, 2010
README.md add link Dec 29, 2010
api.md add empty document Mar 30, 2010



This library is obsolete.

please check https://github.com/felixge/node-mysql

node-mysql is pure Javascript MySQL network driver for node.js

Want to help

It's for testing stage. Now It can use for this driver developer only.

I have a lot of tasks to make stable driver. I want your help.


I need your help in testing this driver. It will be great if you use it for testing or prototyping. It's testing stage, It's not for real project If you find bugs, strange thing and unknown things, please send them to @masuidrive_en or github issues If you write test code (test folder), It's awesome!!


Sorry, This driver's documentation is less. My English skill is horrible. :-(

This drivers is came from Ruby's mysql driver. Almost API is same as mysql.rb. maybe this document is useful reference.

Pool mananager

Currently, this driver supported single connection only. We need multi mysql driver pool manager for multi connections. And connection pool require transaction support.


var sys = require('sys');
var mysql = require('./lib/mysql');

> mysql -u root
CREATE DATABASE nodejs_mysql;
GRANT ALL ON nodejs_mysql.* TO nodejs_mysql@localhost IDENTIFIED BY "nodejs_mysql";
var conn = new mysql.Connection('localhost','nodejs_mysql', 'nodejs_mysql', 'nodejs_mysql');
conn.query("CREATE TEMPORARY TABLE test1(intval INTEGER, strval TEXT, timestampval TIMESTAMP, boolval BOOLEAN);");
conn.query("INSERT INTO test1 VALUES(1,'a',now(),true);");
conn.query("SELECT * FROM test1;",
    function(result) {
        for(var i=0; i<result.records.length; ++i) {
            sys.puts("Result: "+sys.inspect(result.toHash(result.records[i])));
    function(error) {
        sys.puts("Error: "+sys.inspect(error));

And see exmaples folder.




MIT License. See LICENSE file.


Code by Yuichiro MASUI(masuidrive) and awesome contributers. please see AUTHORS

Related licenses

MySQL protocol encode/decode from tmtm's ruby-mysql.

Promise library

  • http://nodejs.org/
  • Copyright 2009, 2010 Ryan Lienhart Dahl. All rights reserved.
  • License: MIT

SHA1 library from Takanori Ishikawa.

pack/unpack from php.js