Ip4 地址不适用于节点-mysql 连接 ubuntu
Ip4address not working for node-mysql connection ubuntu
我可以使用本地主机和我的 IP4 地址打开 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
});
我终于解决了这个问题:-)
- 我使用
sudo su
以 root 身份登录
- 已编辑
subl /etc/mysql/my.cnf
并将绑定地址替换为我的 IP4 地址
- 运行 :
service mysql restart
最后它给了我结果:
mysql stop/waiting
mysql start/running, process 12210
现在我可以使用外部来源的 IP4 地址成功登录了。
感谢大家:-)
我可以使用本地主机和我的 IP4 地址打开 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
});
我终于解决了这个问题:-)
- 我使用
sudo su
以 root 身份登录
- 已编辑
subl /etc/mysql/my.cnf
并将绑定地址替换为我的 IP4 地址 - 运行 :
service mysql restart
最后它给了我结果:
mysql stop/waiting
mysql start/running, process 12210
现在我可以使用外部来源的 IP4 地址成功登录了。
感谢大家:-)