遠程連接mysql失敗了的解決方法:1、配置防火墻,開啟3306端口;2、編輯my.cnf配置文件,綁定IP地址;3、修改用戶訪問權限,允許所有機器訪問;4、重啟mysql。
1、排除網(wǎng)絡或防火墻問題
(推薦教程:mysql教程)
先看是否能ping通遠程服務器,ping 192.168.1.211,如果不可以就是網(wǎng)絡問題。然后,檢查端口是否被防火墻擋住了,telnet 192.168.1.211 3306,如果連接失敗,配置防火墻。
配置防火墻,開啟3306端口
vi?/etc/sysconfig/iptables -A?INPUT?-m?state?–state?NEW?-m?tcp?-p?tcp?–dport?3306?-j?ACCEPT(允許3306端口通過防火墻) /etc/init.d/iptables?restart(重啟防火墻使配置生效)
2、檢查MySQL配置
如果開啟了防火墻,telnet還是失敗,通過netstat查看3306的端口狀態(tài):
netstat?-apn|grep?3306 tcp6??0??0?127.0.0.1:3306??:::*??LISTEN????13524/mysqld
注意地方,這說明3306被綁定到了本地。檢查一下my.cnf的配置,這里可以配置綁定ip地址。
bind-address=addr
不配置或者IP配置為0.0.0.0,表示監(jiān)聽所有客戶端連接。
ps:我開啟3306端口,并且檢查MySQL配置之后,telent仍然失敗,但是在本機telnet是ok的,再三確認了配置沒有問題。后來跟我們的ucloud賬號管理員提了一下,才知道ucloud管理后臺也需要開啟3306端口,用云服務器的留意這個。
3、檢查用戶訪問權限
MySQL建用戶的時候會指定一個host,默認是127.0.0.1/localhost,那么這個用戶就只能本機訪問,其它機器用這個用戶帳號訪問會提示沒有權限,host改為%,表示允許所有機器訪問。
4、重啟mysql,使配置生效。
相關推薦:mysql教程
? 版權聲明
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關推薦