Node.js + socket.io  и mysql  как организовать соединение?
Нужно открывать пул соединений через mysql.createPool используя библиотеку https://www.npmjs.org/package/mysql чтобы не случилось, что какое-то занято на долго запросом, а другое в ассинхронном режиме пришло и хочет быть обработано, пока предыдущее еще не вернулось. На событие разрыва соединения нужно навешивать его возобновление. Для случая с одним соединением так (для пула это нужно навесить на каждый конекшен:var mysql = require('mysql');
connectMySql();

function connectMySql() {
    var connection = mysql.createConnection(connectionString);

    connection.connect(function(err) {
        if (err) {
            setTimeout(function() {
                connectMySql()
            }, 3000);
        }
    });

    connection.on('error', function(err) {
        if (err.code === 'PROTOCOL_CONNECTION_LOST') connectMySql();
    });
}
Если у вас небольшое приложение, то не стесняйтесь сделать конекшен или пул глобальным, чтобы он был сразу определен на обработчиках, а еще лучше сделайте для своего приложения неймспейс в глобальном контексте, например myApp = {} и в него запишите myApp.db = connection чтобы потом писать myApp.db.query(...); Посмотрите, какие красивые и лаконичные обработчики можно сделать, если не вестись на эти REST-суеверия и предубеждения против состояния на сервере и открытых долго конекшенов к БД и глобальных неймспейсов:// Обработчик для API по урлу http://127.0.0.1/example/app/examples/mysql/getCities.json
module.exports = function(client, callback) {
  aliasNameMy.query('select * from City', function(err, rows, fields) {
    callback({ rows:rows, fields:fields });
  });
}
На гитхабе этот обработчик в контексте демо-приложения: https://github.com/tshemsedinov/impress/blob/maste...
Ну и еще порекомендую свои утилиты для драйвера MySQL - https://www.npmjs.org/package/mysql-utilities
и две статьи на Хабре, одну по этим утилитам - habrahabr.ru/post/198738 , а вторую по архитектуре в целом - habrahabr.ru/post/204958
https://github.com/S-anasol/sancrypto/blob/master/...
Вот пример
Ставишь node-mysql или просто mysql не помню точно и вперед.npm install node-mysql