MySQL 连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded
很多用户在使用Navicat Premium 12连接MySQL数据库时会出现Authentication plugin ‘caching_sha2_password’ cannot be loaded的错误。
也有可能之前会出现这个错误:2003 - Can’t connect to MySQL server on ‘127.0.0.1’ (61 “Connection refused”)
因为一直没有链接过本地的数据库,都是使用云库,结果最近一链接出现上述错误。
找了好多文档。 最终得以解决,还是坚信那句话,遇到问题不用怕,只要一直坚持去尝试各种办法去解决,最终都会如愿,话不多说,来看步骤:
第一步 关闭mysql服务:
苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server)
这个也有可能因为mac版本与mysql版本不兼容的问题会出现系统偏好设置里面不显示mysql标志。不用担心。可以直接使用可以使用命令行关闭mysql:
sudo /usr/local/mysql/support-files/mysql.server stop
mysql位置也许不是上面这个位置,可以通过下面这个命令去查看:
ps aux |grep mysql
第二步
1、进入终端输入:cd /usr/local/mysql/bin
2、回车后 登录管理员权限 sudo su (输入你电脑的密码)
3、回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables(注意是mysqld)
如果输入上述命令出现错误走不下去 出现err等日志,可利用下面命令去结束进程:
ps aux |grep mysql 会出现mysql的进程
接着 kill -9 进程号
有几个结束几个,直到不能结束为止,最后只会保留一个进程 就是主进程
接着再重新走第二步
第三步
1、输入命令 ./mysql
2、回车后,输入命令 FLUSH PRIVILEGES;
3、回车后,输入命令 ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘123456’ (123456,这是新密码随意写一个记住的)
第四步
重启mysql:
~$ sudo /usr/local/mysql/support-files/mysql.server restart
这就ok了,可以去连接试试,如果还不行,接着往下面走:
第五步:
- 管理员权限运行命令提示符,登陆MySQL
mysql -u root -p
password:
- 修改账户密码加密规则并更新用户密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新一下用户的密码
- 刷新权限并重置密码
FLUSH PRIVILEGES; #刷新权限
上面两步对应的截图
现在再次打开Navicat Premium 12连接MySQL问题数据库就会发现可以连接成功了
参考:
https://www.cnblogs.com/Jokerguigui/p/11724356.html
https://www.cnblogs.com/zhurong/p/9898675.html