1.網絡或防火牆問題
(1)檢查網絡直接ping你的遠程服務器,ping 182.61.22.107,可以ping通說明網絡沒問題
(2)看端口號3306是不是被防火牆擋住了,telnet 182.61.22.107 3306
下圖這樣就是防火牆擋住了3306端口不允許訪問
配置防火牆,開啟3306端口
vi /etc/sysconfig/iptables //防火牆配置 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT //允許3306端口通過 service iptables restart //重啟防火牆
配置如下:
2.MySQL配置
在你開啟防火牆以后發現還是telnet失敗,我去,報錯如下:
這里的原因是因為你的數據庫只允許root用戶在本地登錄,你可以設置允許訪問的用戶跟地址
(1)進入數據庫查看用戶表
mysql -u root -p //登錄數據庫 use mysql //進入mysql數據庫 select Host,User from user; //查看可以訪問數據庫的ip
結果如下:
(2)設置可以訪問的ip
update user set host='%' where host='localhost'; //允許所有訪問 flush privileges; //刷新生效
當然也可以只允許一些ip訪問,或者ip段訪問:GRANT ALL PRIVILEGES ON *.* TO 'root'@'182.61.*.*' IDENTIFIED BY 'password' WITH GRANT OPTION; //允許182.61段在root賬號登錄