Navicat 连接MySQL的报2059错的解决方案
问题描述:
出现这个错误的原因是在musql8之前的版本中加密规则为mysql_native_password,而在mysql8之后的加密规则为caching_sha2_password。
查看本地MySQL版本
在登录MySQL,进入的时候有一个版本的显式
先前没有改变过root的密码,原始是没有密码的,在需要你输入的时候,直接不填写就可以登录mysql
查看本版本使用的加密规则
输入语句:mysql> select Host,User,Plugin from mysql.user;
输入这个语句就可以查看到现在你的mysql版本使用的是什么加密规则。再根据需要看看要不要修改加密规则。
解决方案:
修改root用户的加密规则以及修改root用户的登录密码。
依次输入以下三个语句:
修改加密规则:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
修改root的密码
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
123456是本人设置的密码,可以根据自己需要修改
最后刷新:
flush privileges;
修改完成,再次进行登录。
连接成功!
以上方法本人亲试有效,希望也能够帮助你理解~