原因: MySql8.0的默认加密方式为与MySql5.*的默认加密方式导致。
原因验证:
- 先进入命令行,登录mysql
use mysql;
使用数据库mysql- 查询使用的加密方式
mysql> use mysql;
Database changed
mysql> select user,host,plugin from user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)
由上查询结果可看出当前加密方式为:caching_sha2_password
只需将加密方式改为:mysql_native_password
即可
alter user root@'localhost' identified with mysql_native_password by'your password';
注:
- 此处由之前查询结果得到的root指定的host为localhost,所以sql语句中为
root@'localhost
,若是其他,需相对应修改 - 此处sql语句后的
by ‘your password’
是指定修改加密方式后root账号得密码。若不添加,修改后root的密码将会置为默认密码
再刷新权限即可
flush privileges;