无法连接mysql nodejs

时间:2017-10-10 10:08:48

标签: mysql node.js

我试图从另一个测试服务器连接远程服务器MySQL数据库 使用节点js从我的其余API。

我的数据库connection.js

var mysql = require('mysql');

var poolConnection = mysql.createPool({
    connectionLimit : 100,
    host            : 'xx.xx.xx.xxx',
    port            : 3306,
    user            : 'testuser', 
    password        : 'test123',
    socketPath      : '/var/run/mysqld/mysqld.sock'
});

exports.query = function(sql,args,callback){
    poolConnection.query(sql,args,callback);    
}

尝试从我的API运行查询时,我收到此错误:

{ Error: connect ENOENT /var/run/mysqld/mysqld.sock
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
----------------------------
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'connect',
address: '/var/run/mysqld/mysqld.sock',
fatal: true }

从许多其他StackOverflow引用中,我也尝试注释掉bind-address,但也没有任何成功。如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

对于与远程MySQL服务器的连接,请忽略socketPath选项,因为只有当MySQL服务器与您的应用程序在同一主机上运行时才有意义。

这确实需要将MySQL服务器设置为允许通过TCP进行连接。