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

连接mysql数据库时报错:

原因: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 指定端口号)
报错:Client does not support authentication protocol requested by server; consider upgrading MySQL cli_第1张图片
会提示输入密码,输入自己数据库的密码,可以看到版本信息,则登录成功;
2. 查看现有的用户
也可以输入命令再次查看版本 select version();
查看现有的用户 SELECT user,host,plugin from mysql.user;
报错:Client does not support authentication protocol requested by server; consider upgrading MySQL cli_第2张图片
3. 设置加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你自己的密码';

在这里插入图片描述
4. 让设置生效
FLUSH PRIVILEGES;
在这里插入图片描述5. 查看设置是否成功
SELECT user,host,plugin from mysql.user;
报错:Client does not support authentication protocol requested by server; consider upgrading MySQL cli_第3张图片

你可能感兴趣的:(mysql,mysql,数据库)