引言
用SQLyog连接MySQL8.0(社区版:mysql-installer-community-8.0.15.0.msi),出现错误2058(Plugin caching_sha2_password could not be loaded:xxxx),通过查询资料了解了该错误的原因并在本文中提出了该问题的方案。
原因
该错误提示如下图所示:
具体原因:新的MySQL 8.0安装,在初始化数据目录时,将 ‘root’@’localhost’创建帐户,并且该帐户caching_sha2_password默认使用,密码的加密方法发生了改变,因此SQLyog不能正常解析,才报出如上错误。
解决方案
以管理员运行【开始】-【所有程序】-【MySQL】-【MySQL Server 8.0】-【MySQL 8.0 Command Line Client – Unicode】,如下图所示:
键入root账号的密码如下所示.
按照以下sql格式输入命令,其中password是指root账号的密码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
执行该命令,结果为Query OK说明修改成功,如下图所示。
用SQLyog重新连接MySQL,可以成功连接。此时查看mysql数据库中的user表,发现root账号的插件名称发生了变化,如下所示。
总结
MySQL新版本有它的优势(一些新的特性),也有一定弊端(运维工具有些不能满足新版的需求),再选择之前我们要充分的斟酌,以免出现一些不可预知的问题。只有不但的发现问题,解决问题,总结解决方法,才能不断的提升自己,若本文能帮你了解或者解决该问题,希望添加关注!