远程连接mysql“Lost connection to MySQL server at 'waiting for initial communication packet', system err”

 

现象

使用Navicat远程连接mysql。无法连接成功。

这里发个帖总结一下mysql配置远程连接相关的一些东西。

1.开启远程连接(在mysql下操作)

授权root用户

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
  1. root:授权的mysql用户名
  2. %:所有ip
  3. *.*:所有数据库和所有数据库下的所有表

使授权立即生效

flush privileges;​

2.开启防火墙的3306端口

[root@skr1 /]# vim /etc/sysconfig/iptables

补充上一条3306的tcp

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

3.重启防火墙

service iptables restart

 

行了,到此为止!现在去试试可以远程连接了没?

如果还不行?那么我们接着往下

4.修改my.cnf。

不知道my.cnf在哪的同学,先find一下

find / -name my.cnf
vim /etc/my.cnf

将bind-address=127.0.0.1给注释掉,注释完执行重启一下mysql或者重新编译一下

service mysql reload
或者
service mysql restart

 

现在再试试呗,如果还不行,那接着往下

5.跳过mysql的DNS反向解析,修改my.cnf文件

[mysqld]
skip-name-resolve

添加一条:skip-name-resolve

6.修改完成之后,重启或编译一下mysql

service mysql reload
或者
service mysql restart

还不行?哇!我也没辙了兄弟!我的就是反向解析的问题。

猜你喜欢

转载自blog.csdn.net/wkh___/article/details/84941101
今日推荐