Accessing a MySQL Database via a Static IP from Node.js

You can route all database traffic via a Static IP in Node.js using QuotaGuard Static.

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 = {
  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);