7

我无法使用 sequelize 连接到远程 mysql 服务器,但我能够 ssh 进入机器并连接到 mysql。

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

4

1 回答 1

16

您设置了一个到您的服务器的 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 服务器以使其接受 TCP 连接

于 2013-10-25T08:29:52.833 回答