月度归档:2015年05月

解决navicat远程连接mysql数据库的报错问题

远程主机是linux+mysql,需要在本地使用navicat来管理数据库。结果连接报错lost connection to mysql server at waiting for initial communication packet

果断排查原因。

先编辑/etc/my.cnf 在[mysqld]下面首行添加禁止DNS解析参数
[mysqld]
skip-name-resolve
重启mysql,测试错误依旧。

想了一下 大约是mysql未开启远程访问权限,于是进去phpmyadmin将root用户设置为任意主机访问权限
用户 主机 密码 全局权限 授权 操作
root % 是 ALL PRIVILEGES 是
重启mysql,错误依旧

继续研究,发现是远程主机上的访问控制没有开启所致。
修改/etc/hosts.allow 添加如下行
mysqld:ALL:ALLOW
mysqld-max:ALL:ALLOW
保存,重启服务器
问题解决。