之前遇到過(guò)MySQL本地可以連接但是遠(yuǎn)程連不上的問(wèn)題,沒(méi)有記錄,今天在云上新申請(qǐng)的服務(wù)器上又遇到這個(gè)問(wèn)題,記錄一下解決過(guò)程。
1.排除網(wǎng)絡(luò)或防火墻問(wèn)題
先看是否能ping通遠(yuǎn)程服務(wù)器,ping 192.168.1.211,如果不可以就是網(wǎng)絡(luò)問(wèn)題。然后,檢查端口是否被防火墻擋住了,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端口通過(guò)防火墻)
/etc/init.d/iptables restart(重啟防火墻使配置生效)
2.檢查MySQL配置
如果開啟了防火墻,telnet還是失敗,通過(guò)netstat查看3306的端口狀態(tài):
netstat -apn|grep 3306
tcp6 0 0 127.0.0.1:3306 :::* LISTEN 13524/mysqld
注意地方,這說(shuō)明3306被綁定到了本地。檢查一下my.cnf的配置,這里可以配置綁定ip地址。
bind-address=addr
不配置或者IP配置為0.0.0.0,表示監(jiān)聽(tīng)所有客戶端連接。
ps:我開啟3306端口,并且檢查MySQL配置之后,telent仍然失敗,但是在本機(jī)telnet是ok的,再三確認(rèn)了配置沒(méi)有問(wèn)題。后來(lái)跟我們的ucloud賬號(hào)管理員提了一下,才知道ucloud管理后臺(tái)也需要開啟3306端口,用云服務(wù)器的留意這個(gè)。
3.檢查用戶訪問(wèn)權(quán)限
MySQL建用戶的時(shí)候會(huì)指定一個(gè)host,默認(rèn)是127.0.0.1/localhost,那么這個(gè)用戶就只能本機(jī)訪問(wèn),其它機(jī)器用這個(gè)用戶帳號(hào)訪問(wèn)會(huì)提示沒(méi)有權(quán)限,host改為%,表示允許所有機(jī)器訪問(wèn)。

最后,別忘了重啟mysql使配置生效。
# /etc/init.d/mysql restart
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MySQL數(shù)據(jù)庫(kù)遠(yuǎn)程連接開啟方法
- MySQL遠(yuǎn)程連接丟失問(wèn)題解決方法(Lost connection to MySQL server)
- 配置mysql允許遠(yuǎn)程連接的方法
- Mac os 解決無(wú)法使用localhost連接mysql問(wèn)題
- PHP中使用localhost連接Mysql不成功的解決方法
- 解決MySQL無(wú)法遠(yuǎn)程連接的方法
- MySQL出現(xiàn)SQL Error (2013)連接錯(cuò)誤的解決方法
- KB967723造成MySQL頻繁無(wú)法連接
- mysql服務(wù)啟動(dòng)卻連接不上的解決方法
- mysql server 5.5連接不上的解決方法