本文共 1691 字,大约阅读时间需要 5 分钟。
如果您在使用SQLyog客户端连接到MySQL 8.0服务器时遇到“plugin caching_sha2_password could not be loaded”错误,可以按照以下步骤进行解决:
mysql_native_password
插件,不支持MySQL 8.0的新插件caching_sha2_password
。caching_sha2_password
插件。如果已确认您的SQLyog版本为12.x或更低,请立即升级至SQLyog 13.1.6或更高版本。如果您无法立即升级,请继续读下一步骤。
对于支持MySQL 8.0的旧版本SQLyog,或者如果您不想立即升级,可以手动配置MySQL的身份验证插件。
操作步骤:
进入MySQL命令行终端(在Docker容器中)
docker exec -it mysql /bin/bash
登录MySQL
mysql -u root -p
修改本地root用户的身份验证插件和密码策略
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';PASSWORD EXPIRE NEVER;FLUSH PRIVILEGES;
修改远程root用户的身份验证插件和密码策略
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';PASSWORD EXPIRE NEVER;FLUSH PRIVILEGES;
(可选)重置密码(非必须)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';ALTER USER 'root'@'%' IDENTIFIED BY '你的密码';
检查密码策略
SHOW VARIABLES LIKE 'validate_password%';
SET global validate_password.length=4;SET global validate_password.policy=LOW;
刷新权限
FLUSH PRIVILEGES;
测试远程连接
mysql_native_password
插件进行远程连接。为了确保修改的有效性,可以执行以下查询:
SELECT Host, User, plugin from mysql.user;
查看root
用户的plugin
属性是否已更改为mysql_native_password
。
如果遇到密码过期问题,可以将密码策略设置为永不过期:
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
通过以上步骤,您可以解决在使用较旧的SQLyog版本与MySQL8.0服务器连接时出现的插件加载错误问题。如果有任何操作失败或需要进一步帮助,请参考MySQL官方文档或联系技术支持团队。
转载地址:http://wveyk.baihongyu.com/