安装了mysql8.4.1,使用sqlyog、navicat无法连接,报错:
Plugin caching_sha2_password could not be loaded:乱码
出现这个原因是MySQL8之前的版本中加密规则是mysql_native_password
而在MySQL8之后,加密规则是caching_sha2_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也可以登录了,完美解决。
以上为个人经验,希望对您有所帮助。