2013-10-25 137 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