一. 问题背景
服务器:linux
数据库:MySQL 5.7.25
情况:在linux的mysql上设置了grant all privilege *.* to root@'%' identified by '密码';
。mysql默认的端口号是3306。然后使用navicat远程连接mysql数据库,却失败了。报错2013-Lost connection to MYSQL server at 'reading for initial communication packet'
。
参考博客: 解决Navicat远程服务器2013-Lost connection to MYSQL server at ‘reading for initial communication packet’
二. 解决方案
-
首先进入linux上的my.cnf。一般都是在
/etc/my.cnf
,如果没有则自行创建 -
把my.cnf里面的bind-address那一行注释掉,无论是
bind-address=127.0.0.1
还是bind-address=0.0.0.0
,都把bind-address这行注释掉注释掉。 -
在my.cnf中加上
skip-name-resolve
-
重启mysql服务:
service mysql stop
、service mysql start
或者直接一句service mysql restart
打开navicat,连接如下:
连接成功!如有问题请留言