【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;
相关推荐
风123456789~34 分钟前
【OceanBase专栏】OB背景知识
数据库·笔记·oceanbase
4***721342 分钟前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
c***421043 分钟前
Django视图与URLs路由详解
数据库·django·sqlite
数据库学啊1 小时前
团队小希望运维简单,时序数据库选型有什么推荐?
运维·数据库·时序数据库
2***65632 小时前
数据库操作与数据管理——Rust 与 SQLite 的集成
数据库·rust·sqlite
V***u4532 小时前
如何查看PostgreSQL的版本
数据库·postgresql
倔强的石头_2 小时前
openGauss向量数据库:赋能智能制造的工业AI实践
数据库
郝学胜-神的一滴2 小时前
Linux命名管道:创建与原理详解
linux·运维·服务器·开发语言·c++·程序人生·个人开发
宾有为2 小时前
【Linux】Linux 常用指令
linux·服务器·ssh