2013-10-25 3 views
3

Я не могу подключиться к удаленному серверу mysql, используя sequelize, но я могу ssh в машину и подключиться к mysql.Sequelize connection over ssh

Как заставить Sequelize подключаться к серверу mysql поверх ssh, а не напрямую в узле?

+0

Я думаю, что sequelize не поддерживает соединение mysql по ssh. – Gntem

ответ

7

Вы создали SSH туннель к серверу, который прослушивает (например) порт 33060:

ssh -NL 33060:localhost:3306 yourserver 

В другом окне/терминала, вы можете использовать клиент MySQL (при условии, что он установлен локально) для подключения к удаленному серверу через SSH туннель:

mysql --port 33060 --host 127.0.0.1 

Если это работает, это просто вопрос изменения номера порта в Sequelize:

var sequelize = new Sequelize('database', 'username', 'password', { 
    host: "127.0.0.1", 
    port: 33060 
}); 

Если он не работает, возможно, удаленный сервер MySQL не настроен на прием соединений через TCP. Если это так, вы должны настроить свой сервер MySQL, чтобы получить его to accept TCP connections.