MySQL with Node.js


I've just started getting into Node.js. I come from a PHP background, so I'm fairly used to using MySQL for all my database needs.

How can I use MySQL with Node.js?

11/21/2015 12:49:23 PM

Accepted Answer

Check out the node.js module list

  • node-mysql — A node.js module implementing the MySQL protocol
  • node-mysql2 — Yet another pure JS async driver. Pipelining, prepared statements.
  • node-mysql-libmysqlclient — MySQL asynchronous bindings based on libmysqlclient

node-mysql looks simple enough:

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : '',
  user     : 'bob',
  password : 'secret',

connection.connect(function(err) {
  // connected! (unless `err` is set)


var post  = {id: 1, title: 'Hello MySQL'};
var query = connection.query('INSERT INTO posts SET ?', post, function(err, result) {
  // Neat!
console.log(query.sql); // INSERT INTO posts SET `id` = 1, `title` = 'Hello MySQL'
2/2/2015 6:53:36 PM

node-mysql is probably one of the best modules out there used for working with MySQL database which is actively maintained and well documented.

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow