【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】

原因

MySQL8.0后的版本加密规则是"caching_sha2_password",而 MySQL8.0之前的版本加密规则是"mysql_native_password" 错误1251通常出现在连接MySQL数据库时,是因为MySQL的身份验证协议发生了变化,而旧版本的Navicat不支持新的身份验证协议。MySQL 8.0版本之后默认采用了更加安全的身份验证插件"caching_sha2_password",而Navicat较旧的版本可能无法兼容这个新的协议

解决办法

更改加密规则,将MySQL用户登录密码加密规则还原成"mysql_native_password"。

进入到mysql指令中:

第一步:修改密码规则

复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

第二步:更改密码,因为修改了加密规则,所以需要重新设置密码

复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的密码'

第三步:最后刷新下数据库,指令为:【FLUSH PRIVILEGES;

复制代码
FLUSH PRIVILEGES;
相关推荐
飛_1 小时前
解决VSCode无法加载Json架构问题
java·服务器·前端
柊二三2 小时前
XML的简略知识点
xml·数据库·oracle
每天敲200行代码4 小时前
MySQL 事务管理
数据库·mysql·事务
巴里巴气4 小时前
MongoDB索引及其原理
数据库·mongodb
程序员勋勋15 小时前
Redis的String数据类型底层实现
数据库·redis·缓存
gx23485 小时前
HCLP--MGER综合实验
运维·服务器·网络
不修×蝙蝠5 小时前
MySQL 全详解:从入门到精通的实战指南
数据库·mysql·索引·最左前缀
angushine5 小时前
鲲鹏服务器部署Kafka2.8.1
运维·服务器
-XWB-6 小时前
【安全漏洞】防范未然:如何有效关闭不必要的HTTP请求方法,保护你的Web应用
服务器·网络·http
一个网络学徒7 小时前
MGRE综合实验
运维·服务器·网络