由于 caching_sha2_password 导致 MySQL 8.0.11 连接错误

标签 mysql plugins mysql-workbench

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

Your connection attempt failed to user 'root' from your host to server as localhost:3306:

Authentication plugin caching_sha2_password cannot be loaded:

The specified module could not be found.

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

我尝试按照提供的步骤进行操作 here .但是我是第一次接触MySQL,所以没看懂步骤。

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

"storing those values in the plugin and authentication_string columns of the > mysql.user system table."

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

如有任何帮助,我们将不胜感激!

最佳答案

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

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

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

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

关于由于 caching_sha2_password 导致 MySQL 8.0.11 连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50826727/

相关文章:

mysql - 更改忘记的 root 密码 MySQL 5.7.4

mysql - Union alternate 使查询更高效。 mysql

php - 我可以输入,或者将用户输入到没有电子邮件值的 mysql 表中是否安全?

mysql - 常用的 MySQL 管理/查询工具都不支持超长的表和列注释吗?

grails - 如何在 grails-3.0.4 中添加或安装我在升级应用程序时在 grails-2.4.4 中使用的插件

php - 如何在wordpress选项中保存短代码的内容?

javascript - 使用 jQuery/JavaScript 进行组合键

mysql - 如何将 Sakila 数据库安装到 Mac 上的 MySQL Workbench 中?

c# - 如何使用 C# 中的 select 调用 MySQL 存储过程

mysql - Laravel mysql 多where查询