Ip4 地址不适用于节点-mysql 连接 ubuntu

Ip4address not working for node-mysql connection ubuntu

我可以使用本地主机和我的 IP4 地址打开 phpmyadmin:

  1. http://localhost/phpmyadmin

  2. http://192.168.3.72/phpmyadmin

  3. http://127.0.0.1/phpmyadmin/

以上所有作品

但是当我尝试将 IP4 地址应用于此

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'me',
  password : 'secret'
});

参考:https://github.com/felixge/node-mysql/#introduction

我得到的错误是:

{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  fatal: true }

我做错了什么?

使用的端口是:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:28017         0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:5939          0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     

我试过 netstat -nlt | grep 3306

但我得到的是空白输出而不是:

mysqld  1046  mysql  10u  IPv4  5203  0t0  TCP  xxx.xxx.xxx.xxx:3306 (LISTEN)

尝试使用此 post 时: Remote Connections Mysql Ubuntu

但是当尝试使用时:netstat -tulpn | grep :3306

我得到的输出为:

tcp        0      0 192.168.3.72:3306       0.0.0.0:*               LISTEN      -  

任何人都可以帮忙解决这个问题...

您是否尝试使用“127.0.0.1”代替 "localhost"?

您可能尝试使用错误的端口连接到 MySQL。要找出 MySQL 正在监听的端口,您可以这样做:

Windows(来自MySQL):
mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';

Unix:
netstat -tln

确定正确的端口(默认为 3306)后,您可以在尝试从节点连接时明确指定端口:

var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'me',
  password : 'secret',
  port: 3306
});

我终于解决了这个问题:-)

  1. 我使用 sudo su
  2. 以 root 身份登录
  3. 已编辑 subl /etc/mysql/my.cnf 并将绑定地址替换为我的 IP4 地址
  4. 运行 : service mysql restart

最后它给了我结果:

mysql stop/waiting
mysql start/running, process 12210

现在我可以使用外部来源的 IP4 地址成功登录了。

感谢大家:-)