主頁 > 知識庫 > 解決Navicat Premium 連接 MySQL 8.0 報錯1251的問題分析

解決Navicat Premium 連接 MySQL 8.0 報錯1251的問題分析

熱門標(biāo)簽:湖南人工外呼系統(tǒng)多少錢 廣東人工電話機(jī)器人 信陽穩(wěn)定外呼系統(tǒng)運(yùn)營商 日照旅游地圖標(biāo)注 百度地圖圖標(biāo)標(biāo)注中心 南通自動外呼系統(tǒng)軟件 芒果電話機(jī)器人自動化 石家莊電商外呼系統(tǒng) 申請外呼電話線路

人閑太久,努力一下就以為是在拼命。

一、問題

Navicat Premium 連接 MySQL 8.0 報錯:

1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

二、原因

MySQL 8.0 改變了密碼認(rèn)證方式。

MySQL 8.0 之前版本的密碼認(rèn)證方式為:

mysql_native_password

為了提供更安全的密碼加密方式,從 MySQL 8.0 版本開始,默認(rèn)使用密碼認(rèn)證方式為:

caching_sha2_password

報錯 1251 的原因也很明顯:

Client does not support authentication protocol requested by server;

翻譯為中文就是:“客戶端不支持服務(wù)端請求的認(rèn)證協(xié)議”。

我這里用的 Navicat Premium 11 去連接 MySQL 8.0,因?yàn)榘姹咎停圆恢С?caching_sha2_password 的密碼加密方式??!

MySQL 命令行終端,可以查看版本以及默認(rèn)密碼認(rèn)證方式:

root@程序員的一天:/# mysql -u root -p   
Enter password: 
Welcome to the MySQL monitor. 

mysql> 
mysql> 
# 查看版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.21 |
+-----------+
1 row in set (0.00 sec)

mysql> 
mysql> 
# 查看默認(rèn)加密方式
mysql> 
mysql> use mysql;

Database changed

mysql> 
mysql> select host, user, plugin from user;
+-----------+------------------+-----------------------+
| host  | user    | plugin    |
+-----------+------------------+-----------------------+
| %   | root    | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys  | caching_sha2_password |
| localhost | root    | caching_sha2_password |
+-----------+------------------+-----------------------+
5 rows in set (0.00 sec)

mysql> 

可以看到, MySQL 8.0 默認(rèn)全部用戶的密碼加密方式都是 caching_sha2_password。

三、解決

解決這個問題,有兩種方法。

  • 方法1:修改 MySQL 8.0 的密碼認(rèn)證方式。
  • 方法2:安裝新版本 Navicat Premium。

兩種方法都可行,但是加密規(guī)則最好不要亂改,很容易出問題。所以,推薦使用“方法2”。

3.1、修改 MySQL 8.0 密碼認(rèn)證方式

MySQL 命令行終端分別執(zhí)行以下操作:

# 更新root用戶的密碼為"123456",
# 注意,這里需要將"123456"換成自己的密碼,請勿使用弱密碼!
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

# 刷新權(quán)限,使密碼更新生效
FLUSH PRIVILEGES;

 

簡單演示一下:

第一步:進(jìn)入 mysql 命令行終端。

root@ed2a490912e5:/# mysql -u root -p
Enter password: 

mysql> 

第二步:查看默認(rèn)密碼認(rèn)證方式。

mysql> use mysql;
mysql> select host, user, plugin from user;
+-----------+------------------+-----------------------+
| host  | user    | plugin    |
+-----------+------------------+-----------------------+
| %   | root    | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys  | caching_sha2_password |
| localhost | root    | caching_sha2_password |
+-----------+------------------+-----------------------+
5 rows in set (0.00 sec)

mysql> 

可以看到,root 用戶密碼認(rèn)證方式為 caching_sha2_password。

第三步:修改 root 用戶密碼認(rèn)證方式,如果是其他用戶,root 替換為其他用戶名即可。等同于更新一下密碼!

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.05 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.04 sec)

第四步:再次查看 root 用戶密碼認(rèn)證方式。

mysql> select host, user, plugin from user;
+-----------+------------------+-----------------------+
| host  | user    | plugin    |
+-----------+------------------+-----------------------+
| %   | root    | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys  | caching_sha2_password |
| localhost | root    | mysql_native_password |
+-----------+------------------+-----------------------+
5 rows in set (0.00 sec)

注意看,root 用戶密碼認(rèn)證方式變成了 mysql_native_password。

再次使用Navicat Premium 11 連接 MySQL 8.0連接成功!

再次提示,修改密碼認(rèn)證方式,很容易出問題,不推薦!

3.2、安裝新版本 Navicat Premium

經(jīng)我測試,Navicat Premium 12 及以上版本均支持 MySQL 8.0 連接。最新版本是 Navicat Premium 15,官網(wǎng)下載地址:

http://www.navicat.com.cn/download/navicat-premium

安裝很簡單,運(yùn)行安裝包,根據(jù)提示一步一步安裝即可。遺憾的是 Navicat Premium 不是免費(fèi)軟件,永久許可證價格比較昂貴… …官網(wǎng)報價:人民幣 4,449.0 元,企業(yè)版甚至上萬了。貧窮,讓我流下眼淚,哭唧唧


好在可以破解?。?!
具體可以參考:Navicat Premium 15 永久破解安裝教程

免責(zé)申明:僅供技術(shù)交流,如產(chǎn)生法律糾紛與本人無關(guān)。如有侵犯版本,聯(lián)系刪除!

附上一張效果圖:

到此這篇關(guān)于Navicat Premium 連接 MySQL 8.0 報錯“1251”分析解決的文章就介紹到這了,更多相關(guān)Navicat Premium 連接 MySQL 8.0 報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 使用Navicat Premium工具將oracle數(shù)據(jù)庫遷移到MySQL
  • Navicat Premium遠(yuǎn)程連接MySQL數(shù)據(jù)庫的方法
  • Navicat Premium操作MySQL數(shù)據(jù)庫(執(zhí)行sql語句)
  • Navicat premium連接數(shù)據(jù)庫出現(xiàn):2003 Can''t connect to MySQL server on''localhost''(10061)
  • Navicat Premium 15 永久破解激活工具及安裝教程(親測可用)
  • 安裝配置mysql及Navicat prenium的詳細(xì)流程

標(biāo)簽:呼和浩特 公主嶺 阿里 惠州 天津 沈陽 牡丹江 合肥

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決Navicat Premium 連接 MySQL 8.0 報錯1251的問題分析》,本文關(guān)鍵詞  解決,Navicat,Premium,連接,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決Navicat Premium 連接 MySQL 8.0 報錯1251的問題分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于解決Navicat Premium 連接 MySQL 8.0 報錯1251的問題分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章