Node.js Application Connection to MySQL/MariaDB/Percona

MySQL, MariaDB, and Percona are among of the most popular open source SQL databases, used by world’s largest organizations. In this guide we’ll overview a simple example of Node.js application connection to MySQL or MariaDB server.

1. Log into your PaaS account and create an environment with MySQL (or MariaDB) database server, we’ll also add a NodeJS compute node for this tutorial.

create NodeJS MySQL environment

2. Access your NodeJS server via SSH, e.g. with embedded Web SSH client.

NodeJS Web SSH button

3. Once connected, get an official MySQL driver for Node.js (compatible with MariaDB) by executing the following command:

1
npm install mysql

Note: MySQL driver for NodeJS 10 is currently in testing, so if the deprecation warnings are shown while operating this server version, you may need to install the testing version:

1
npm install mysqljs/mysql

NodeJS install MySQL connector

Installation will be finished in a moment.

4. Prepare a simple Node.js script to verify connection. Create a file with the .js extension, using any text editor of your choice (e.g. vim script.js).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
var mysql = require('mysql');
var con = mysql.createConnection({
  host: "{host}",
  user: "{user}",
  password: "{password}",
  database: "{database}"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("You are connected!");
});
con.end();

The placeholders in the code above should be adjusted using the appropriate connection information (is provided within email for your MySQL / MariaDB container):

  • {user} - username to log into database with
  • {password} - password for the appropriate user
  • {host} - link to your MySQL / MariaDB container
  • {database} - database to be accessed (e.g. the default one - mysql)

NodeJS MySQL connection code

Using this script, you can check connection to the database from your application server and, if it fails, get an error description.

5. Run code with the appropriate command:

1
node script.js

nodejs successful connection

For successful connection a “You are connected!” phrase will be displayed in terminal, otherwise error description will be provided. Now, when you are sure your database container is accessible, expand the code to execute some real actions on your DB server.

What’s next?