mysql8 之前的版本中加密规则是mysql_native_password
,而在mysql8之后,加密规则是caching_sha2_password
,把mysql8之后版本加密规则改为mysql_native_password
即可
首先查看mysql版本
在命令行中输入
mysql -V
或
进入mysql命令行输入
select version();
查看加密规则,可以看到此时是caching_sha2_password
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select user,host,plugin from user where user='root';
+------+-----------+-----------------------+
| user | host | plugin |
+------+-----------+-----------------------+
| root | localhost | caching_sha2_password |
+------+-----------+-----------------------+
进入mysql shell,简单两句命令即可解决
alter user 'root'@'localhost' identified with mysql_native_password by 'password'; // password是你的密码,使用这条命令要重置密码
flush privileges;
查看命令是否生效
mysql> use mysql //先使用命令 use mysql
Database changed
mysql> select user,host,plugin from user where user='root';
+------+-----------+-----------------------+
| user | host | plugin |
+------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+------+-----------+-----------------------+