我有以下代码,我正在尝试运行。我已经相应地发表评论,提到我所做的一切。
// File saved as app.js
var mysql = require('mysql');
var connection = mysql.createConnection({
host:'localhost', //even tried with 127.0.0.1
port:3306, //confirmed port by looking into /etc/mysql/my.cnf has [client] port = 3306
user:'root', //credentials are verified since Php My Admin logs in with same
password:'password' //credentials are verified since Php My Admin logs in with same
//Even tried to connect using _socket: '/var/run/mysqld/mysqld.sock'
});
connection.connect(function(err) {
// connected! (unless `err` is set)
if(err)
console.log(err); return;
});
由于默认端口未更改,phpMyAdmin对我来说运行正常。但我无法使用node-mysql driver中的Node.js进行连接。
以下是我收到的错误消息:
amolkulkarni@ubuntu:~/Project/Node_MySQL$ node app.js
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
fatal: true }
有人可以帮忙吗?
<小时/> 更新:根据评论
amolkulkarni@ubuntu:~/ ps ax | grep mysqld
5905 ? S 0:00 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
5906 ? Sl 0:12 /usr/sbin/mysqld --skip-grant-tables --skip-networking
28964 ? Ssl 0:00 /usr/sbin/mysqld
29098 pts/3 S+ 0:00 grep --color=auto mysqld
我可以使用mysql -hlocalhost -uroot -ppassword
连接到mysql,但如果我用ip替换,例如mysql -h192.168.1.10 -uroot -ppassword
它给出了如下错误:
ERROR 2003(HY000):无法连接到'192.168.3.78'上的MySQL服务器(111)
答案 0 :(得分:2)
您的服务器以--skip-networking标志启动:
根本不要监听TCP / IP连接。所有互动 mysqld必须使用命名管道或共享内存(在Windows上)或 Unix套接字文件(在Unix上)。强烈建议使用此选项 只允许本地客户的系统。
尝试连接到unix套接字或启用TCP启动服务器。