一、问题描述
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;