由于caching_sha2_password导致MySQL 8.0.11错误连接

时间:2018-06-12 22:32:30

标签: mysql plugins mysql-workbench

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

  

您的连接尝试未能成为用户' root'从您的主机到服务器作为localhost:3306:

     

无法加载身份验证插件caching_sha2_password

     

找不到指定的模块。

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

我尝试按照here提供的步骤进行操作。但这是我与MySQL的第一次互动,所以我不明白这些步骤。

例如,在使用SHA-2可插入身份验证下,它表示

  

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

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

你正在寻找错误的地方。故事是这样的:

MySQL 8引入了一种新的身份验证方法: caching_sha2_password ,它提高了安全身份验证(sha2哈希)的性能(因此缓存)。这个突破性的变化已经成为新帐户的默认设置,因此当MySQL 8.0.11发布时,MySQL Workbench(以及许多其他客户端工具)无法为它做好准备。未准备好的客户端应用程序/库将显示上述错误。

许多所谓的"解决方案"只是建议将身份验证方法切换到较旧的,安全性较低的(MySQL本机)。这是一个黑客而不是解决方案。请记住,这仅适用于默认使用新的auth方法的新帐户。现有帐户(例如,将旧服务器升级到8.0时)仍然可以像以前一样工作,除非您明确更改了用户的身份验证方法。

与此同时,MySQL Workbench在MySQL下载页面上可以找到候选版本( MySQL Workbench 8.0.11 RC )(请参阅"开发版本"标签)。将其用于8.x服务器。 GA版本即将推出。