1. 程式人生 > 實用技巧 >navicat premium連線mysql 8.0報錯error 10061和error1130問題

navicat premium連線mysql 8.0報錯error 10061和error1130問題

昨天安裝了最新版的mysql navicat premium, 但沒來得及測試使用Navicat連線。

今天上班時,使用Navicat premium連線mysql時,出現報錯ERROR 2003 (HY000): Can’t connect to MySQL server on ‘1XX.XX.XX.XX’ (10061).

起初以為是mysql沒有安裝成功,就先去檢測伺服器中是否成功安裝mysql.

使用如下命令:

先進入mysql的安裝目錄

執行mysql -u root -p

輸入登入密碼

執行show databases;(一定要輸入;)

從上面結果得出,mysql已經成功安裝了。

接下來百度了一堆關於ERROR 2003 (HY000): Can’t connect to MySQL server on ‘1XX.XX.XX.XX’ (10061)的資料,綜合起來有三種:

1. mysql服務沒有啟動

在服務中可以檢視mysql有沒有啟動。我的mysql已經啟動了,所以排除該原因。

2. 伺服器防火牆遮蔽了3306埠

百度怎麼檢視伺服器防火牆是否遮蔽3306埠,3306埠沒有被遮蔽。

3. my.ini配置檔案中bind-address = 127.0.0.1的問題

我將bind-address = 127.0.0.1修改為bind-address = 0.0.0.0後,發現依舊報10061錯誤。然後我又將bind-address = 0.0.0.0遮蔽掉,還是報10061錯誤。查了一大堆資料,翻來覆去就這三種解決方法,我已經修改了,為什麼不起作用。直到我再次重啟了mysql伺服器,再連線,終於不報10061錯了。oh, my god! 各位兄弟姐妹,修改bind-address後,多寫一句重啟mysql服務,

是會怎樣啊。好了,10061問題到這裡就解決了。

但是,10061錯誤不出現了,出現了1130錯誤ERROR 1130: Host 'xxx.xxx.xxx.xx' is not allowed to connect to this MySQL server

行吧,誰讓我要用Navicat連線mysql呢,還能咋整,繼續修改唄。

又是百度一堆資料,然後嘗試了一堆解決方法,終於知道了原因:只是本機訪問mysql,其他的任何機器都是無法訪問的。需要設定允許遠端機器訪問。

資料庫伺服器中的mysql資料庫中的user的表中沒有許可權(root也沒有許可權)。

1)先在mysql伺服器上登入root, 然後切換到mysql資料庫

2)執行

update user set host ='%' where user='root';

flush privileges;

3)重啟mysql服務,重啟mysql服務,重啟myssql服務,重要的事,說三遍。

最後使用Navicat連線,顯示連線成功!

終於解決了。。。。。。