共计 670 个字符,预计需要花费 2 分钟才能阅读完成。
安装完 MySQL8.0.11 和 Navicat Premium12 后,我们会用 Navicat 去测试连接 MySQL,但是测试时出现以下错误提示:
2059 Authentication plugin ‘caching_sha2_password’ cannot be loaded
原因分析
mysql8 之前的版本中加密规则是 mysql_native_password,而 MySQL8.0.11 版本启用了新特性,用户登录加密规则改为了 caching_sha2_password,如果想使用 caching_sha2_password 新特性的话,那么就必须更新一下 navict 的驱动。否则用 navicat 连接就会报 2059 错误,如果想继续使用以前的老特性, 可以将 mysql 用户登录的加密规则还原为 mysql_native_password
解决方法
解决问题方法有两种,一种是升级 navicat 驱动,一种是把 mysql 用户登录密码加密规则还原成 mysql_native_password。
我这里使用的解决方法是第二种方式
更改加密规则:
mysql -uroot -p
password #登录
use mysql; #选择数据库
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新用户密码
FLUSH PRIVILEGES; #刷新权限
: