这2天在家重装电脑,顺便把mysql升级8.0,安装完成后,用Navicat连接,报错2059,如下
网上查了一下,
【报错原因】mysql8.0 之前的版本中加密规则是 mysql_native_password,而 mysql8.0 之后的版本加密规则是caching_sha2_password
【解决办法】修改 mysql8.0 的加密规则
- # 1、连接 mysql 服务器
- mysql -u root -p
- # 2、进入 mysql 数据库
- mysql> use mysql;
- # 3、查看 user 表
- mysql> select user,host from user;
- # 4、设置登录密码永不过期(password改为自己的)
- mysql> alter user 'root'@'localhost' identified by 'password' password expire never;
- # 5、修改加密规则(password改为自己的)
- mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'password';
- # 6、刷新权限
- mysql> flush privileges;
- # 7、退出
- mysql> quit
我本地的账户名和密码是root/root

本地测试连接一下,成功了

