1,先确认本地是否能连上
本地能连上就对用户进行授权
mysql>grant all privileges on *.* to 'root'@'%' identified by 'youpassword' with grant option;
mysql>flush privileges;
2、打开/etc/my.cnf
将选项skip-networking注释掉(注:有的资料上说还要讲bind-address设置成127.0.0.1,我的配置文件中反正没看到这句话,也就没有设置。这个选项是用来设置可以进行外部访问Mysql的IP,有一个过滤的作用,也没有必要设置)。
3、去看看防火墙有没有屏蔽掉3306端口。Centos系统的话,在 /etc/sysconfig/iptables 中,有没有这样一句话:
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT没有就加上,或者后面的ACCEPT是DROP,将改成ACCEPT就行了
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
4、重启防火墙和mysql
service iptables restart
原文:http://www.cnblogs.com/aimeiren/p/6236370.html