Nodejs将mysql socket连接到另一台主机?

时间:2015-06-08 14:07:35

标签: mysql node.js sockets

以下是我的Nodejs代码在我的本地计算机上工作正常。

var client = mysql.createClient({
    user: '(your user here)',
    password: '(your password here)',
    host: '127.0.0.1',
    port: '3306',
    _socket: '/var/run/mysqld/mysqld.sock',
});

但是当我与另一台服务器连接时,如何编写“_socket”的路径。我的数据库位于另一个局域网服务器,我的服务器IP是192.168.12.166。如何将mysql连接到此服务器。

谢谢

2 个答案:

答案 0 :(得分:1)

删除(未记录的?)_socket选项并更改host值:

var client = mysql.createClient({
    user: '(your user here)',
    password: '(your password here)',
    host: '192.168.12.166',
    port: '3306'
});

但是,这假设192.168.12.166上的MySQL数据库配置为接受TCP连接(有关如何执行此操作,请参阅the answer to this question。)

答案 1 :(得分:0)

连接到其他服务器时,不使用本地unix套接字。另一台服务器应该在3306上监听,你可以用

来检查
netstat -anp|grep LISTEN|grep 3306

对于所有绑定的IP,它应该显示一个特定的IP(不是127.0.0.1)或0.0.0.0。