场景
我的数据库是mysql8.0,Navicat是12的,连接过程中报了2059和1045这两个错误,第二次遇到了,记录一下。

解决步骤
首先出现这个问题是因为mysql加密规则出现了改动,之前是mysql_native_password,mysql8以及之后改为了caching_sha2_password,而Navicat的驱动没有跟上,所以出现这个错误。
有两种方式解决:1、升级Navicat驱动 2、修改数据库的加密规则。
这里我用的是第二种方法
1、win+r 输入 mysql -uroot -p密码 进入 mysql
2、use mysql 选择库
3、执行两条命令
/第一句修改密码加密方式/
**ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; **
/第二句重置密码,BY后面是 你重置的密码/
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
4、然后正常连接就可以了


版权声明:本文为qq_44601291原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。