MySQL远程数据库访问出错排查
上一次在做Django的时候,我就遇到一个问题,我的远程MySQL数据库一直连接不上,比较头疼。但是后来通过mysqldump把数据从远程拷贝到本地来了。
这一次由于牵扯到Typecho的数据转换,我找到的解决方案是通过node的一个包来进行转换。为了使我的Blog数据得以迁移过来,我就不得不开始了折腾之旅。
Navicat里面提示错误信息「2013」,查询了很多结果,基本上都是说自己的远程MySQL没有配置好导致的。
问题排查记录:
-
去找了下配置文件/etc/my.cnf,里面并没有配置bind_address。应该是MySQL版本较高的原因,默认配置是没有的。
-
在**[mysqlld]中添加上了skip_name_resolve**,仍然不起作用
-
远程数据库帐号权限问题,再三确认没有问题
可以通过以下命令获取远程登录权限
grant all privileges on *.* to 'root'@'%' identified by 'password';
flush privileges;
做完以上的操作后,我用另外一个服务器去连接仍然报错,错误代码2003。我就比较郁闷了。
难不成我iptalbes配置的有问题?
查了下iptables -L,果不其然3306端口的MySQL被Drop了。,。
通过**--line-number**参数,可以显示规则的序列号,方便做操作。
iptables -R INPUT 3 -j DROP
搞定。连接顺畅。深吸一口气。
REF: