远程连接mysql“Lost connection to MySQL server at 'waiting for initial communication packet', system err”
1.开启远程连接(在mysql下操作)
授权root用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
- root:授权的mysql用户名
- %:所有ip
- *.*:所有数据库和所有数据库下的所有表
使授权立即生效
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
备注:一般都通以上步骤就可以解决问题