昨天在自己的遠程服務器上玩,把系統重裝了。新裝了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;
再次遠程連接數據庫成功
幾經轉折,才連接上(╯‵□′)╯︵┴─┴


