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