連接遠程數據庫時出現 SSH: expected key exchange group packet from server / 2003 - Can't connect to MySQL server on 'XXX' (10038) / 1130 - Host 'XXX' is not allowed to connect to this MySQL server


昨天在自己的遠程服務器上玩,把系統重裝了。新裝了MySQL,在本地用navicat連接的時候出了幾個小問題。

問題一:SSH: expected key exchange group packet from server

這個問題在網上查了查說是navicat自己的問題,升級版本就好了。沒管那么多,在SSH選項卡里把使用ssh通道取消了,使用常規連接。

問題二:2003 - Can't connect to MySQL server on 'XXX' (10038)

第一個問題剛解決,但是第二個問題又出來了,這個問題是我忘了設置MySQL允許遠程訪問

解決方法是將bind-address = 127.0.0.1注釋掉

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在bind-address = 127.0.0.1這句的前面加上#

問題三:1130 - Host 'XXX' is not allowed to connect to this MySQL server

前面兩個問題本以為這就好了,結果又報了個這,看意思是我的IP沒有權限。在網上查了查,找到了一個解決辦法:修改MySQL的用戶表

1、登錄mysql

mysql -u root -p

2、查看一下用戶表

use mysql
select host,user from user;

3、修改host字段

根據查到的結果可以發現只有本機可以訪問,我的做法是把host字段改成%

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

4、刷新MySQL的系統權限相關表

flush privileges;­

再次遠程連接數據庫成功

 

幾經轉折,才連接上(╯‵□′)╯︵┴─┴


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM