无法连接mysql节点

无法连接mysql节点,mysql,node.js,Mysql,Node.js,我正在尝试从另一个测试服务器连接远程服务器MySQL数据库 从我的RESTAPI使用节点js My database connection.js var mysql = require('mysql'); var poolConnection = mysql.createPool({ connectionLimit : 100, host : 'xx.xx.xx.xxx', port : 3306, user

我正在尝试从另一个测试服务器连接远程服务器MySQL数据库 从我的RESTAPI使用节点js

My database 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参考资料中,我也尝试注释出绑定地址,但也没有任何成功。如何解决此问题。

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


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

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


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

我认为您的套接字路径是错误的。首先尝试使用
require('path')
解决它。@Crowes远程服务器my.cnf文件显示套接字的相同路径='/var/run/mysqld/mysqld.sock'我认为您的套接字路径是错误的。首先尝试用
require('path')
解决它。@Crowes远程服务器my.cnf文件为socket='/var/run/mysqld/mysqld.sock'显示相同的路径,但没有socket路径获得连接被拒绝错误
错误:connect-econnrefusexx.xx.xx.xxx:3306
@sasuke这就是我写的原因:“这确实需要将MySQL服务器设置为允许通过TCP进行连接。”此外,您的服务器需要允许到端口3306的传入连接(这也意味着您必须考虑向外部世界开放端口的安全影响)但是没有套接字路径获取连接被拒绝错误
错误:connect-econnreferedxx.xx.xx.xxx:3306
@sasuke这就是为什么我写道:“这确实需要将MySQL服务器设置为允许通过TCP进行连接。”此外,您的服务器需要允许到端口3306的传入连接(这也意味着你必须考虑对外开放港口的安全影响)。