连接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;
来源地址:https://blog.csdn.net/m0_45382009/article/details/126251555