我无法使用 sequelize 连接到远程 mysql 服务器,但我能够 ssh 进入机器并连接到 mysql。
如何让 Sequelize 通过 ssh 而不是直接在节点中连接到 mysql 服务器?
我无法使用 sequelize 连接到远程 mysql 服务器,但我能够 ssh 进入机器并连接到 mysql。
如何让 Sequelize 通过 ssh 而不是直接在节点中连接到 mysql 服务器?
您设置了一个到您的服务器的 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 连接。