昨天安裝了最新版的mysql navicat premium, 但沒來得及測試使用Navicat鏈接。mysql
今天上班時,使用Navicat premium鏈接mysql時,出現報錯ERROR 2003 (HY000): Can’t connect to MySQL server on ‘1XX.XX.XX.XX’ (10061).sql
起初覺得是mysql沒有安裝成功,就先去檢測服務器中是否成功安裝mysql.數據庫
使用以下命令:服務器
先進入mysql的安裝目錄測試
執行mysql -u root -pthis
輸入登陸密碼spa
執行show databases;(必定要輸入;)server
從上面結果得出,mysql已經成功安裝了。blog
接下來百度了一堆關於ERROR 2003 (HY000): Can’t connect to MySQL server on ‘1XX.XX.XX.XX’ (10061)的資料,綜合起來有三種:ci
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鏈接,顯示鏈接成功!
終於解決了。。。。。。