MySQL使用Navicat遠程連接時報錯1251


1、報錯信息

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

 

2、分析

根據報錯的字面意思:客戶端不支持服務器請求的身份驗證協議,可考慮升級MySQL客戶端。

問題就出在用戶密碼上.

經查詢:MySQL8.0.4以前的版本和MySQL8.0.4及以后的版本,密碼認證插件有所改變,之前使用的是“mysql_native_password”,8.0.4及以后使用的是“caching_sha2_password”,

所以在修改密碼的語句上,也有所不同,以前修改密碼語句:

SET PASSWORD=PASSWORD('newpassword')

現在修改語句:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';

 

3、解決方法

可以把密碼認證插件改為“mysql_native_password”,同時修改密碼。

 

-- 黑窗口登錄mysql
mysql -u root -p

-- 查看用戶相關信息:
/*

user: 用戶名
host:允許連接的主機,%表示所有主機都可以連接
plugin:密碼認證插件
authentication_string :密碼,加密處理了的
*/

select host,user,plugin,authentication_string from mysql.user;

-- 修改密碼認證插件為mysql_native_password,同時修改密碼:我這里修改密碼為Zxit@2018
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Zxit@2018';

修改前的:

 

 

修改后的:

 

 

 

4、驗證

再次用Navicat連接測試,顯示成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM