Accessing a MySQL Database via a Static IP from Node.js
Table of contents
You can route all database traffic via a Static IP in Node.js using QuotaGuard.
Currently there is a limitation in that you can’t use the built in connection pooling, so this is not recommended for high traffic applications.
var mysql = require('mysql2');
var url = require("url");
var SocksConnection = require('socksjs');
var remote_options = {
host:'your-database.eu-west-1.rds.amazonaws.com',
port: 3306
};
var proxy = url.parse(process.env.STATICA_URL);
var auth = proxy.auth;
var username = auth.split(":")[0]
var pass = auth.split(":")[1]
var sock_options = {
host: proxy.hostname,
port: 1080,
user: username,
pass: pass
}
var sockConn = new SocksConnection(remote_options, sock_options)
var dbConnection = mysql.createConnection({
user: 'dbuser',
database: 'dbname',
password: 'dbpassword',
stream: sockConn
});
dbConnection.query('SELECT 1+1 as test1;', function(err, rows, fields) {
if (err) throw err;
console.log('Result: ', rows);
sockConn.dispose();
});
dbConnection.end();
Any issues? Reach out at Support so we can help.