1. 程式人生 > >Navicat無法遠端連線與本地連線MySQL伺服器解決方法

Navicat無法遠端連線與本地連線MySQL伺服器解決方法

方法一:

使用Navicat遠端連線MySQL伺服器時,提示如下圖情況:

根據查閱不同資料發現,這個問題是因為root使用者使用的加密方式不同,需將其加密方式改為mysql_native_password,即可實現遠端連線MySQL伺服器。

那麼,怎麼來修改root使用者的Authentication plugin呢?

首先我們先來檢視一下root使用者的相關資訊。

  1. 啟動MySQL:net start mysql
  2. 登入MySQL:mysql -uroot -p(root使用者密碼);
  3. 檢視MySQL中含有哪些資料庫:show databases;
  4. 選擇MySQL資料庫檢視:use MySQL
  5. 檢視資料庫中的資料表:show tables;
  6. 有一個user資料表,我們建立使用者的資訊都在user資料表內,先檢視關於使用者的部分資訊:select host,user,plugin from user;
  7. 找到了關於Navicat無法連線資料庫伺服器的根本問題所在了。
  8. 關閉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