通过ssh续集连接

时间:2013-10-25 07:17:01

标签: node.js sequelize.js

我无法使用sequelize连接到远程mysql服务器,但我可以ssh到机器并连接到mysql。

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

1 个答案:

答案 0 :(得分: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服务器以获取它{。{3}}。