遠端連線mysql失敗了的解決方法:1、設定防火牆,開啟3306埠;2、編輯my.cnf設定文件,綁定IP位址;3、修改使用者存取權限,允許所有機器存取; 4、重啟mysql。
1、排除網路或防火牆問題
(推薦教學:mysql教學)
先看是否能ping通遠端伺服器,ping 192.168.1.211,如果不可以就是網路問題。然後,檢查連接埠是否被防火牆擋住了,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的連接埠狀態:
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,表示監聽所有客戶端連線。
ps:我開啟3306端口,並且檢查MySQL配置之後,telent仍然失敗,但是在本機telnet是ok的,再三確認了配置沒有問題。後來跟我們的ucloud帳號管理員提了一下,才知道ucloud管理後台也需要開啟3306端口,用雲端伺服器的留意這個。
3、檢查使用者存取權
MySQL建置使用者的時候會指定一個host,預設是127.0.0.1/localhost,那麼這個使用者就只能本機訪問,其它機器用這個使用者帳號存取會提示沒有權限,host改為%,表示允許所有機器存取。
4、重啟mysql,讓設定生效。
相關推薦:php培訓
以上是遠端連線mysql失敗了怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!