如圖所示,鏈接遠程的數據庫提示Can't connect to MySQL server (10060)。
遇到這個問題,我們首先做一個分析,導致這種狀況出現的幾種原因:
a、bind-address 對於連接的ip做了一個限定
b、數據庫用戶只能在指定的ip上連接
c、網絡,防火牆可能導致的問題
首先查看
mysql> use mysql
Database changed
mysql> select host,user from user;
+-----------+--------+
| host | user |
+-----------+--------+
| % | zabbix |
| 127.0.0.1 | root |
| localhost | root |
| localhost | zabbix |
+-----------+--------+
4 rows in set (0.00 sec)
發現root 賬號不允許所有IP進行連接,根據需要新增連接的IP即可
GRANT ALL PRIVILEGES ON *.* TO 'root'@'IP地址' IDENTIFIED BY '密碼' WITH GRANT OPTION;
flush privileges;
本次發現防火牆也沒有開放3306端口
防火牆開放3306端口
1、打開防火牆配置文件
vi /etc/sysconfig/iptables
2、增加下面一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3、重啓防火牆
service iptables restart
注意:增加的開放3306端口的語句一定要在icmp-host-prohibited之前