遠程鏈接MySQL失敗,可能有一下緣由:mysql
一、小夥子/小姑涼注意一下你的ip是否輸入正確了!!
二、網絡或防火牆問題
1)、排查網絡問題sql
使用命令:ping 192.168.1.1 查看網絡請求是否超時。服務器
正常接收數據進行下一步排查網絡
2)、排查雲服務器防火牆是否將其擋住。tcp
使用命令:telnet 192.168.1.1 3306,若是鏈接失敗,有兩個緣由阿里雲
a)、查看雲服務器端口是否開放。spa
開放狀況(我這邊使用的是阿里雲):3d
開放端口配置:code
若是雲服務器的端口已經開放了。可是仍是訪問不到服務器的3306端口。接着往下看。blog
b)、查看服務器查看防火牆是否開啓。
# systemctl status firewalld
我這邊服務器是未開放狀態,因此就不存在被防火牆攔截這一說。
若是開啓了防火牆,telnet仍是失敗,那就經過netstat查看3306的端口狀態:
# netstat -talnp 3306 tcp6 0 0 :::3306 :::* LISTEN 4591/mysqld (正常狀況)
若是netstat 3306 端口沒有出現上面的狀況。那麼須要你將你本機的mysql服務啓動動一下再次進行線下鏈接。
三、檢查用戶訪問權限
1)、進入msyql
2)、查看用戶訪問權限
如圖所示,查看你遠程帳戶(User)所對應的 Host 是否爲 %;
若是遠程帳戶所對應的Host爲 127.0.0.1/localhost,那麼這個用戶就只能本機訪問,其它機器用這個用戶賬號訪問是沒有權限,必須host改成%,表示容許全部機器訪問。
修改命令以下:
mysql> update user set host='%' where user='你要修改的帳戶'; ##修改爲功後記得刷新一下權限 mysql> flush privileges;
最後在查看一下權限,進行遠程鏈接。
若有不對之處但願你們指點。共同進步,謝謝!