报错:Client does not support authentication protocol requested by server; consider upgrading MySQL cli

发布时间 2023-12-11 17:17:52作者: 郑琰

IDEA启动项目登录时显示用户或密码错误
或者
连接mysql数据库时报错

原因:
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,所以可以需要改变mysql的加密规则

  1. 打开cmd窗口,登录mysql;
    mysql -u root -h 127.0.0.1 -P3306 -p
  • -u 后面root 为自己数据库的用户名
  • -h 后面为 (mysql服务所在地址),我自己是在本机测试,所以为127.0.0.1
  • -P (可选,默认3306 指定端口号)

    会提示输入密码,输入自己数据库的密码,可以看到版本信息,则登录成功;
  1. 查看现有的用户
    也可以输入命令再次查看版本 select version();
    查看现有的用户
SELECT user,host,plugin from mysql.user;

  1. 设置加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你自己的密码';
  1. 让设置生效
FLUSH PRIVILEGES;
  1. 查看设置是否成功
SELECT user,host,plugin from mysql.user;