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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章