遠程連接MySQL失敗,可能有一下原因: 1、小伙子/小姑涼註意一下你的ip是否輸入正確了!! 2、網路或防火牆問題 1)、排查網路問題 使用命令:ping 192.168.1.1 查看網路請求是否超時。 正常接收數據進行下一步排查 2)、排查雲伺服器防火牆是否將其擋住。 使用命令:telnet 1 ...
遠程連接MySQL失敗,可能有一下原因:
1、小伙子/小姑涼註意一下你的ip是否輸入正確了!!
2、網路或防火牆問題
1)、排查網路問題
使用命令:ping 192.168.1.1 查看網路請求是否超時。
正常接收數據進行下一步排查
2)、排查雲伺服器防火牆是否將其擋住。
使用命令:telnet 192.168.1.1 3306,如果連接失敗,有兩個原因
a)、查看雲伺服器埠是否開放。
開放情況(我這邊使用的是阿裡雲):
開放埠配置:
如果雲伺服器的埠已經開放了。但是還是訪問不到伺服器的3306埠。接著往下看。
b)、查看伺服器查看防火牆是否開啟。
# systemctl status firewalld
我這邊伺服器是未開放狀態,所以就不存在被防火牆攔截這一說。
如果開啟了防火牆,telnet還是失敗,那就通過netstat查看3306的埠狀態:
# netstat -talnp 3306 tcp6 0 0 :::3306 :::* LISTEN 4591/mysqld (正常情況)
如果netstat 3306 埠沒有出現上面的情況。那麼需要你將你本機的mysql服務啟動動一下再次進行線下連接。
3、檢查用戶訪問許可權
1)、進入msyql
2)、查看用戶訪問許可權
如圖所示,查看你遠程賬戶(User)所對應的 Host 是否為 %;
如果遠程賬戶所對應的Host為 127.0.0.1/localhost,那麼這個用戶就只能本機訪問,其它機器用這個用戶帳號訪問是沒有許可權,必須host改為%,表示允許所有機器訪問。
修改命令如下:
mysql> update user set host='%' where user='你要修改的賬戶'; ##修改成功後記得刷新一下許可權 mysql> flush privileges;
最後在查看一下許可權,進行遠程連接。
如有不對之處希望大家指點。共同進步,謝謝!