Navicat连接MySQL报错2059

问题背景

  新安装的MySQL8.0.15,root密码设置的123456;

  新安装的navicat;

出现问题

  navicat连接数据库报错,如图:

  

解决办法

  

mysql -u root -p
输入密码123456登录mysql,执行以下命令:

ALTER
USER 'root'@'localhost' IDENTIFIED BY '654321' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '654321'; #更新一下用户的密码 FLUSH PRIVILEGES; #刷新权限

  原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password
    这里是把加密故障还原成了mysql_native_password。

  最后使用654321登陆成功。

人生短短数十载,经不起几次重头再来
原文地址:https://www.cnblogs.com/bk770466199/p/10630822.html