问题出现场景:用navicate连接linux上部署的mysql服务时报如下错误
2013 -Lost connection to MySQL server at 'reading initial communication packet
排查问题思路:
1.怀疑linux服务器防火墙的问题,关闭防火墙后此问题还存在;
2.用ping 服务器地址,可以访问通;
3.用telnet ip port 进行检测,报Unable to connect to remote host: Connection refused;
4.确认mysql是否开启对外端口 netstat -nltp | grep mysql
结果如下
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2717/mysqld
解析:
Local Address的地址为127.0.0.1 说明该端口对本地可见,对外不可见
- 5.开启对外端口
vim /etc/mysql/mysql.conf.d/mysqld.cnf
把文件中bind-address注释掉
#bind-address = 127.0.0.1
- 6.重启mysql,问题解决
使用telnet 192.168.x.x无法连接mysql (Unable to connect to remote host: Connection refused),开启mysql远程连接的方式