navicat连接mysql 8.0以上版本2059错误
安装了最新版本8.0.4的mysql之后,使用navicat链接提示以下错误。原因是因为mysql8.0 之前的版本中加密规则是 mysql_native_password,而 mysql8.0 之后的版本加密规则是caching_sha2_password
处理方案
解决方案1:下载安装最新版本navicat
解决方案2:
先配置环境变量不然无法进入sql命令行.
# 连接 mysql 服务器
mysql -u root -p
# 进入 mysql 数据库
mysql> use mysql;
# 查看 user 表
mysql> select user,host from user;
# 设置登录密码永不过期(password改为自己的)
mysql> alter user 'root'@'localhost' identified by 'password' password expire never;
mysql> alter user 'root'@'%' identified by 'password' password expire never;
# 修改加密规则(password改为自己的)
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'password';
mysql> alter user 'root'@'%' identified with mysql_native_password by 'password';
# 刷新权限
mysql> flush privileges;
# 退出
mysql> quit