之所以会出现这种错误,是因为:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
(1) 查看自己mysql版本,是8之后的版本可以使用本文所述方法
(2) 登录本地数据库,查看用户信息(我已经改过了,root用户加密规则已经改变,没有修改的童鞋显示caching_sha2_password)
select host,user,plugin,authentication_string from mysql.user;
(3)修改用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'; # root用户密码改为newpassword
我改的是:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
(4)再次连接,连接成功