一、问题描述

Navicat连接MySQL数据库报错251 - Client does not support authentication protocol requested by server; consid

二、问题原因

Mysql8 之前的版本中加密规则是mysql_native_password,而Mysql8.0默认采用了新的caching_sha2_password的身份验证方式,此方式并不兼容常规的老的web服务接口

三、解决办法:

第一步:使用root账户登入mysql

第二步:命令界面输入

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

运行成功显示
Query OK, 0 rows affected (0.01 sec) 

第三步:在命令界面输入

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

如果以下报错提示
1396 - Operation ALTER USER failed for 'root'@'%'
请使用以下代码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

第四步:输入以下代码完成更改

flush privileges;

附:SQL查询用户信息

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

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐