昨天安裝了最新版的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連接,顯示連接成功!
終于解決了,,,,,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/227348.html
標籤:MySQL
