赞
踩
安装了mysql8.4.1,使用sqlyog、navicat无法连接,报错:Plugin caching_sha2_password could not be loaded:乱码
原因:
出现这个原因是MySQL8之前的版本中加密规则是mysql_native_password,而在MySQL8之后,加密规则是caching_sha2_password。解决问题方法有两种,第一种是升级图形界面工具版本,第二种是把MySQL8用户登录密码加密规则还原成mysql_native_password。
按照网上教程尝试第二种方式解决
登录mysql依次执行如下命令:
#使用mysql数据库
USE mysql;
#修改'root'@'localhost'用户的密码规则和密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abc123';
#刷新权限
FLUSH PRIVILEGES;
按照如上方法操作到第二条命令的时候出现了报错:Plugin ‘msql_native_password‘ is not loaded.
#查询mysql插件信息
show show plugins;
结果发现
mysql_native_password 插件是DISABLED状态。
解决
1、在my.ini文件中加入该插件启动命令,在[mysqld]段添加mysql_native_password=ON。
2、重启MySQL服务。然后登录mysql再show plugins;可以看到mysql_native_password是ACTIVE状态
3、再次执行前面的命令,这里需要注意执行第二条命令之后root的密码会被修改成新的:abc123,根据自己的情况修改。
#使用mysql数据库
USE mysql;
#修改'root'@'localhost'用户的密码规则和密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abc123';
#刷新权限
FLUSH PRIVILEGES;
此时命令都可以正常执行,使用sqlyog也可以登录了,完美解决。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。