【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;
相关推荐
木心术113 小时前
Windows系统下MySQL与AI工具集成方案:数据存储与调用实践
人工智能·windows·mysql
STDD13 小时前
Soulmask《灵魂面具》 专用服务器搭建教程
运维·服务器·github
二宝哥14 小时前
离线安装maven
java·数据库·maven
SZLSDH14 小时前
场景适配论 | 数字孪生IOC建设中渲染技术与智能体能力的协同逻辑
前端·数据库·ai·数字孪生·数据可视化·智能体
半壶清水14 小时前
用P4 Tutorial、BMv2 和 Mininet‌解析网络第一集------模拟环境搭建
运维·服务器·网络·网络协议·tcp/ip
.YYY14 小时前
RHCE--Linux循环执行的例行性任务:crontab从入门到精通
linux·运维·服务器
这个DBA有点耶14 小时前
SQL改写实战:子查询、CTE、窗口函数性能对比
数据库·mysql·性能优化
ambition2024214 小时前
UNIX消息队列:从理论模型到工程实现的演进
linux·服务器·unix
@我漫长的孤独流浪14 小时前
数据库完整性约束全解析:从理论到实践
数据库
高翔·权衡之境14 小时前
主题10:实时性——硬实时与软实时
服务器·网络·驱动开发·信息与通信·智能硬件