1.错误截图
2.网上查找原因发现是:mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后的加密规则是caching_sha2_password,这里了解一下就行。
3.解决办法两种:
第一种:就是升级navicat驱动,让它可以兼容高版本的mysql,但我用的是破解版的这里就不用第一种了。
第二种:mysql用户登录更改为老版本加密规则。
4.首先,以管理员身份运行cmd,(必须管理员身份),然后进入mysql。
mysqld -u root -p
5.然后键入:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
6.然后更改密码,改完加密规则后,需要重新设置新密码。
这里的"新密码"一定要改成自己的!!!
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
7.改完后,需要刷新一下数据库。
FLUSH PRIVILEGES;