Node.js Application Connection to MySQL/MariaDB
MySQL and MariaDB 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 CirrusGrid account and create an environment with MySQL (or MariaDB) database server, we’ll also add a NodeJS compute node for this tutorial.
2. Access your NodeJS server via SSH, e.g. with embedded Web SSH client.
3. Once connected, get an official MySQL driver for Node.js (compatible with MariaDB) by executing the following command:
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:
npm install mysqljs/mysql
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).
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):
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:
node script.js
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.
Powered by BetterDocs
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.