天天看點

mysql root遠端通路權限_解決Navicat連接配接MySQL資料庫報錯問題

今天在用Navicat連接配接另外一台主機上的MySQL時報錯:

Host is not allowed to connect to this MySQL server

mysql root遠端通路權限_解決Navicat連接配接MySQL資料庫報錯問題

預設安裝的mysql無法遠端連接配接是因為MySQL預設配置了不支援遠端連接配接引起的。

解決方法:

一、本地主機上登入root使用者

找到mysql.exe所在路徑,shift+右鍵,在目前視窗打開指令行。

執行指令:

mysql -uroot -proot

Enter password:

成功連接配接mysql以後,執行以下sql語句檢視user庫情況:

use mysql;

select host from user where user='root';

可以看到,mysql預設配置的host都是本地IP。

二、修改配置使之允許遠端登入通路

執行以下sql語句:

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

Host設定了“%”後便可以允許遠端通路,但需要注意,這裡表裡有3條記錄,這樣更新會出錯,僅成功更新一條記錄。

接下來,把多餘的删掉,僅保留host值為'%'的記錄即可。

delete from user where user = 'root' and host <>'%';(親測,這一步非必須)

mysql root遠端通路權限_解決Navicat連接配接MySQL資料庫報錯問題

三.重新整理權限使配置生效

執行以下語句:

flush privileges

結果看上圖,執行成功了。

下面再次測試遠端連接配接。

mysql root遠端通路權限_解決Navicat連接配接MySQL資料庫報錯問題

全部語句:

mysql -u root -p/*Enter password:*********/use mysql;select host from user where user='root';update user set host = '%' where user ='root';flush privileges;
           

錯誤一:如果還是連接配接不到,那是不是 MySQL Server 綁定了本地位址,打開 /etc/mysql/my.cnf,

找到:bind-address = 127.0.0.1

去除 IP 位址綁定,把它改為:bind-address = 0.0.0.0

然後重新開機 MySQL Server:/etc/init.d/mysql restart

錯誤二:

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘hostxxxxx’ (10061)

錯誤原因:

mysqld資料庫服務沒有啟動。

解決辦法:

檢查 :在windows 的任務管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确認服務已經啟動。

處理 :啟動mysqld 服務

錯誤三:

防火牆開啟了

解決方法:

防火牆需要允許3306端口連接配接。