客戶端遠程連接部署在linux服務器的mysql出現以上錯誤,總大概分爲以下3點
主要有3個原因:
1、檢查網絡是否可以ping通,這個就不說了。
2、mysql授權表裏沒有遠程機器的權限
方法一、本地登入mysql,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,將"localhost"改爲"%"
#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
方法二、直接授權(推薦)
從任何主機上使用root用戶,密碼:youpassword(你的root密碼)連接到mysql服務器:
grant all privileges on *.* to 'root'@'%' identified by '登陸密碼'
flush privileges;3、防火牆禁止3306端口,以iptable爲例
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306-j ACCEPT
service iptables restart
iptables設置
1) 重啓後生效
開啓: chkconfig iptables on
關閉: chkconfig iptables off
2) 即時生效,重啓後失效
開啓: service iptables start
關閉: service iptables stop