注:mysql版本为8.0,用navicat登录时出现这个错误
使用命令行进入mysql,记得用root权限的账户
mysql -u root -p
查看用户使用的登录插件,也就是验证方式
select user,plugin from mysql.user;
这里可以看到我的wxy这个用户使用的时caching_sha2_password,此时修改wxy登录的认证方式
alter user 用户名@localhost identified with mysql_native_password by 'newpassword';
刷新
flush privileges;
最后提醒一下大家,建用户的时候使用如下语句可以避免这个问题
create user test@localhost identified with mysql_native_password by 'password';
如果不带 with mysql_native_password 则使用的时caching_sha2_password认证