node.js mysql错误:ECONNREFUSED

为什么我无法连接到mysql服务器?

在同一台服务器上,Apache / PHP服务器正在运行,并且连接正常!

var mysql_link = {

host : 'localhost',

port : 3308,

database: 'nodetest',

user : 'root',

password : 'xxx'

};

var connection = mysql.createConnection(mysql_link);

connection.connect(function(err){

console.log(err);

if(err != null){

response.write('Error connecting to mysql:' + err+'\n');

}

});

connection.end();

错误

{ [Error: connect ECONNREFUSED]

code: 'ECONNREFUSED',

errno: 'ECONNREFUSED',

syscall: 'connect',

fatal: true }

更新

root@dyntest-amd-6000-8gb /var/www/node/dyntest # ps ax | grep mysqld

7928 pts/0 S+ 0:00 grep mysqld

28942 ? S 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysqld/mysqld.pid

29800 ? Sl 17:31 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/lib/mysql/mysql-error.log --open-files-limit=65535 --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306

回答:

如果以前能解决这个问题,我的第一个猜测就是您已经在后台运行了持有连接的node.js脚本副本。

我认为连接被拒绝是tcp / ip错误消息,而不是来自MySQL的消息,它表明该连接未运行或正在其他端口上运行或通过套接字运行。

您可以尝试远程登录到端口3308吗?要查看服务器是否在该端口上运行?

telnet localhost 3308

您还可以尝试:

mysql -hlocalhost -uroot -pxxx

以上是 node.js mysql错误:ECONNREFUSED 的全部内容, 来源链接: utcz.com/qa/397833.html

回到顶部