1. 程式人生 > 資料庫 >Navicat Premiun遠端連線MySQL報錯10038解決方案

Navicat Premiun遠端連線MySQL報錯10038解決方案

遠端連線MySQL失敗,可能有一下原因:

1、小夥子/小姑涼注意一下你的ip是否輸入正確了!!

2、網路或防火牆問題

  1)、排查網路問題

    使用命令:ping 192.168.1.1 檢視網路請求是否超時。

    正常接收資料進行下一步排查

  2)、排查雲伺服器防火牆是否將其擋住。

    使用命令:telnet 192.168.1.1 3306,如果連線失敗,有兩個原因

    a)、檢視雲伺服器埠是否開放。

       開放情況(我這邊使用的是阿里雲):   

Navicat Premiun遠端連線MySQL報錯10038解決方案

       開放埠配置:

Navicat Premiun遠端連線MySQL報錯10038解決方案    

     Navicat Premiun遠端連線MySQL報錯10038解決方案

      如果雲伺服器的埠已經開放了。但是還是訪問不到伺服器的3306埠。接著往下看。

    b)、檢視伺服器檢視防火牆是否開啟。

# systemctl status firewalld

Navicat Premiun遠端連線MySQL報錯10038解決方案

    我這邊伺服器是未開放狀態,所以就不存在被防火牆攔截這一說。

    如果開啟了防火牆,telnet還是失敗,那就通過netstat檢視3306的埠狀態:

# netstat -talnp 3306tcp6 0 0 :::3306 :::* LISTEN 4591/mysqld (正常情況)

    如果netstat 3306 埠沒有出現上面的情況。那麼需要你將你本機的mysql服務啟動動一下再次進行線下連線。

3、檢查使用者訪問許可權

  1)、進入msyql

   2)、檢視使用者訪問許可權

     Navicat Premiun遠端連線MySQL報錯10038解決方案

    如圖所示,檢視你遠端賬戶(User)所對應的 Host 是否為 %;

    如果遠端賬戶所對應的Host為 127.0.0.1/localhost,那麼這個使用者就只能本機訪問,其它機器用這個使用者帳號訪問是沒有許可權,必須host改為%,表示允許所有機器訪問。

    修改命令如下:

mysql> update user set host='%' where user='你要修改的賬戶';
##修改成功後記得重新整理一下許可權
mysql> flush privileges;

    最後在檢視一下許可權,進行遠端連線。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。