原因分析:
1. 2003:Can't connect to MySQL server (10060)
远程服务器防火墙没有开放mysql端口 ,例如3306
2.1130: Host '192.168.1.3' is not allowed to connect to thisMySQL server
用户帐号不允许从远程登陆,只能localhost登陆
解决方法:
1.修改/etc/sysconfig/iptables 添加或者修改,下面两条添加在 22 端口下方
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
添加好之后防火墙规则如下所示:
######################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*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 -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
#####################################
重启防火墙使配置生效: command 执行 /etc/init.d/iptables restart
2.登入mysql后,更改"mysql" 数据库里的 "user" 表里的 "host"项,从"localhost"改称"%",(需要重启server)
连接mysql:格式: mysql -h主机地址 -u用户名 -p用户密码
use mydatabase;
update user set host = '%' where user ='root';mysql>select host, user from user;
flush privileges;