连接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 指定端口号)

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

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