首页 > 解决方案 > 由于caching_sha2_password,MySQL 8.0.11 连接错误

问题描述

当我尝试连接到 MySQL Workbench 上的服务器时,我收到错误消息

您的连接尝试以 localhost:3306 的身份从您的主机到服务器的用户“root”失败:

caching_sha2_password无法加载身份验证插件:

指定的模块无法找到。

好像我没有caching_sha2_password安装模块。如何安装这个插件?

我尝试按照此处提供的步骤进行操作。不过这是我第一次接触MySQL,所以步骤没看懂。

例如,在 Using SHA-2 Pluggable Authentication 下,它说

“将这些值存储在 >系统表的pluginauthentication_string列中。”mysql.user

但是mysql.user系统表在哪里,我如何访问它并存储值?

任何帮助将不胜感激!

标签: mysqlpluginsmysql-workbench

解决方案


你看错地方了。故事是这样的:

MySQL 8 引入了一种新的身份验证方法:caching_sha2_password,它提高了性能(因此缓存)以实现安全身份验证(sha2 散列)。这一重大更改已在很晚才成为新帐户的默认设置,因此当 MySQL 8.0.11 发布时,MySQL Workbench(以及许多其他客户端工具)无法为它做好准备。未准备的客户端应用程序/库将显示上述错误。

许多所谓的“解决方案”只是简单地建议将身份验证方法切换到较旧的、不太安全的方法(MySQL 本机)。这与其说是一种解决方案,不如说是一种技巧。请记住,这仅适用于默认使用新身份验证方法的新帐户。现有帐户(例如,当您将旧服务器升级到 8.0 时)仍然像以前一样工作,除非您明确更改用户的身份验证方法。

与此同时,MySQL Workbench 赶上了这里,并且在 MySQL 下载页面上提供了一个候选版本(MySQL Workbench 8.0.11 RC)(请参阅“开发版本”选项卡)。将它用于您的 8.x 服务器。GA 版本将很快推出。


推荐阅读