2013-10-25 95 views
3

我无法使用sequelize连接到远程mysql服务器,但是我可以将SSH连接到机器并连接到mysql。通过ssh进行序列化连接

如何让Sequelize通过ssh而不是直接连接到mysql服务器?

+0

我认为sequelize不支持通过ssh连接mysql。 – Gntem

回答

7

您建立一个SSH隧道到服务器,它侦听(例如)端口33060:

ssh -NL 33060:localhost:3306 yourserver 

在另一个窗口/终端,你可以使用MySQL客户端(假设它的本地安装)要通过SSH隧道连接到远程MySQL服务器:

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