1. 程式人生 > 資料庫 >解決navicat遠端連線mysql報錯10038的問題

解決navicat遠端連線mysql報錯10038的問題

navicat遠端連線mysql報錯10038一般由以下兩個原因:

一:本地防火牆問題

在本地安裝了mysql、navicat並打開了mysql服務的情況下,來設定防火牆。

在這裡插入圖片描述

首先右擊或者點選入站規則,找到新建規則,點選。

在這裡插入圖片描述

點選埠。

在這裡插入圖片描述

在特定本地埠中填入3306.

在這裡插入圖片描述

一直點選下一步。

在這裡插入圖片描述

這裡可以給一個好分別的名稱即可。
之前再嘗試連線即可,若仍然不可以,可能是伺服器方面的問題。

二:伺服器3306埠未開啟

首先需要在安全組開放埠。
我這裡使用的是阿里雲伺服器。首先需要進入雲伺服器,找到安全組。

在這裡插入圖片描述

進入裡面找到配置規則。

在這裡插入圖片描述

然後進行快速新增,新增3306埠即可。

之後同樣在雲伺服器下再進入例項列表,點選遠端連線,進入伺服器終端。

在這裡插入圖片描述

然後在命令列輸入firewall-cmd --query-port=3306/tcp

在這裡插入圖片描述

若這裡顯示的是no,那麼需要讓防火牆開啟3306埠:
1.開啟埠3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent

2.重啟防火牆

firewall-cmd --reload

檢視已經開放的埠

firewall-cmd --list-ports

接著需要讓mysql開啟遠端訪問許可權:
1.登陸mysql (若遺忘資料庫密碼,往下看)

mysql -u root -p

2.設定訪問地址(本人實際操作的時候並沒有設定就可以連線成功了)

如果你想允許使用者root從ip為192.168.1.123的主機連線到mysql伺服器,並使用root作為密碼 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123'IDENTIFIED BY 'password' WITH GRANT OPTION; 

3.重新整理

flush privileges;

如果在上面第1步登陸mysql的時候遺忘了密碼,可以進行以下操作。
(以下主要來源於:linux下mysql忘記密碼解決方案)

1.檢查mysql服務是否啟動,如果啟動,關閉mysql服務

執行命令:ps -ef | grep -i mysql

在這裡插入圖片描述

如果開著就執行關閉的命令:service mysqld stop

在這裡插入圖片描述

2.修改mysql的配置檔案my.conf

一般在/etc目錄下,執行命令:vi /etc/my.cnf,編輯檔案、

在這裡插入圖片描述

在檔案的[mysqld]標籤下新增一句:skip-grant-tables

在這裡插入圖片描述

然後wq!儲存退出。

3.重啟資料庫

執行命令:service mysqld start

4.進入到mysql資料庫

執行命令:mysql -u root

在這裡插入圖片描述

5.修改密碼
執行語句:use mysql;
繼續執行語句:update mysql.user set authentication_string=password('root_password') where user='root';
root_password替換成你想要的密碼

在這裡插入圖片描述

6.把步驟2加的東西刪除掉,再重啟伺服器,就可以使用剛才修改的密碼登入進伺服器了。

到這一步已經全部結束。

以上就是本人解決10038問題的時候的一些步驟啦~

到此這篇關於關於navicat遠端連線mysql報錯10038的問題的文章就介紹到這了,更多相關navicat遠端連線錯誤10038內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!