MySQL远程数据库访问出错排查

上一次在做Django的时候,我就遇到一个问题,我的远程MySQL数据库一直连接不上,比较头疼。但是后来通过mysqldump把数据从远程拷贝到本地来了。

这一次由于牵扯到Typecho的数据转换,我找到的解决方案是通过node的一个包来进行转换。为了使我的Blog数据得以迁移过来,我就不得不开始了折腾之旅。

Navicat里面提示错误信息「2013」,查询了很多结果,基本上都是说自己的远程MySQL没有配置好导致的。

问题排查记录:

  1. 去找了下配置文件/etc/my.cnf,里面并没有配置bind_address。应该是MySQL版本较高的原因,默认配置是没有的。

  2. 在**[mysqlld]中添加上了skip_name_resolve**,仍然不起作用

  3. 远程数据库帐号权限问题,再三确认没有问题

    可以通过以下命令获取远程登录权限
    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: