Knowledge Base

npm MySQL | node.js MySQL Connection Guide

This article demonstrates how to connect to a MySQL database using Node.js.

  • Node.js must already be installed on your account. For information about how to install Node.js, please see this article.
  • A MySQL database and user must already exist before you can follow the procedures in this article. For information about how to manage MySQL databases using cPanel, please see this article.

MySQL Node.js Connection Via npm

The node-mysql package enables you to easily connect to a MySQL database using Node.js. Before you can do this, however, you must install the node-mysql package on your account.

Installing the node-mysql package (npm)

To install the node-mysql package on your account, follow these steps:

  1. Log in to your account using SSH.
  2. Type the following commands:
    cd ~ npm install mysql
Code sample

After you install the node-mysql package, you are ready to work with actual databases. The following sample Node.js code demonstrates how to do this.

In your own code, replace dbname with the database name, username with the MySQL database username, and password with the database user's password. Additionally, you should modify the SELECT query to match a table in your own database:

var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', database : 'dbname', user : 'username', password : 'password', }); connection.connect(function(err) { if (err) { console.error('Error connecting: ' + err.stack); return; } console.log('Connected as id ' + connection.threadId); }); connection.query('SELECT * FROM employee', function (error, results, fields) { if (error) throw error; results.forEach(result => { console.log(result); }); }); connection.end();

This example creates a MySQL connection object that connects to the MySQL database. After the database connection is established, you can use the query method to run raw SQL statements (in this case, a SELECT query on a table named employee).

More Information

For more information about the node-mysql package, please visit