出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决方法是把mysql用户登录密码加密规则改为mysql_native_password.
首先找到mysql的安装路径下的my.ini文件 确保文件中有这行,没有就添加上
# 默认使用“mysql_native_password”插件认证
# mysql_native_password
default_authentication_plugin=mysql_native_password
然后打开 cmd
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
#如果用户不是root 则:
ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
修改后需要重启mysql服务才会生效,重启MySQL可以在cmd中输入
net stop mysql
net start mysql
也可以直接去任务管理器
找到MySQL服务 右键 点击重新启动。