Navicat無法遠端連線與本地連線MySQL伺服器解決方法
方法一:
使用Navicat遠端連線MySQL伺服器時,提示如下圖情況:
根據查閱不同資料發現,這個問題是因為root使用者使用的加密方式不同,需將其加密方式改為mysql_native_password,即可實現遠端連線MySQL伺服器。
那麼,怎麼來修改root使用者的Authentication plugin呢?
首先我們先來檢視一下root使用者的相關資訊。
- 啟動MySQL:net start mysql
- 登入MySQL:mysql -uroot -p(root使用者密碼);
- 檢視MySQL中含有哪些資料庫:show databases;
- 選擇MySQL資料庫檢視:use MySQL
- 檢視資料庫中的資料表:show tables;
- 有一個user資料表,我們建立使用者的資訊都在user資料表內,先檢視關於使用者的部分資訊:select host,user,plugin from user;
- 找到了關於Navicat無法連線資料庫伺服器的根本問題所在了。
- 關閉MySQL服務:net stop mysql。
現在我們來修改一下plugin的加密方式吧。
注意:不能使用update user set plugin=‘mysql_native_password’語句。雖然同樣也是更改了plugin加密方式,但是實質上的Authentication plugin依然是caching_sha2_password。
所以我們需要使用如下命令更改:
alter user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY '你的root使用者密碼'
更改成功,最後使用flush privileges進行更改的儲存。
我們來使用navicat連線下資料庫伺服器看看。
連線成功。
方法二:
解決用navicate遠端連線資料庫出現1045 access denied for user 'root'@'localhost
在MySQL命令列中輸入:
SET PASSWORD FOR 'root'@'%'=PASSWORD('123456');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY'123456';
FLUSH PRIVILEGES;
連線成功。
附錄:
Navicat破解軟體連結:https://blog.csdn.net/qq_16093323/article/details/79228481