转载自http://blog.csdn.net/rain_yuan/article/details/6046723
初次安装Mysql有可能遇到从外部其他机器上无法访问Mysql的问题,简单总结一下曾经遇到的几种原因
1、mysql用户权限问题。mysql初始安装后,默认给root用户只分配了localhost和127.0.0.1两个host,即在mysql库的user表中,user为root的两行记录的host字段值分别为localhost和127.0.0.1。这个host字段就是Mysql用于通过客户机IP进行访问控制的。这种情况下,可以新增一条记录或者修改已有记录的host字段两种方式,将root用户的host字段值改为‘%’,或者是特定客户端即得IP,比如192.168.0.11等等。
我使用了第一种方法就成功在本地连接上远程了
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
3、还有一种情况,就是Mysql服务启动时绑定了127.0.0.1。这种情况可以通过netstat工具查看Mysql绑定的IP和端口,如果绑定了127.0.0.1也会导致外部机器不可访问。这是可以修改mysql的配置文件。比如在Ubuntu上,在使用apt-get安装的情况下,Mysql的配置文件通常在/etc/mysql/mysql.conf.d/mysqld.cnf,把其中一行bind-address = 127.0.0.1注释掉或者改为mysql本机的外部IP即可。