当我尝试连接到 MySQL Workbench 上的服务器时,收到错误消息
您的连接尝试无法以 localhost:3306 身份从主机到服务器的用户“root”:
认证插件caching_sha2_password
无法加载:
指定的模块无法找到。
我好像没有这个模块caching_sha2_password
安装。我如何安装这个插件?
我尝试按照提供的步骤操作here https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html。但这是我第一次接触MySQL,所以不太明白其中的步骤。
例如,在“使用 SHA-2 可插入身份验证”下,它显示
“将这些值存储在plugin
and authentication_string
> 的栏目mysql.user
系统表。”
但哪里是mysql.user
系统表以及如何访问它并存储值?
任何帮助将不胜感激!
您看错了地方。故事是这样的:
MySQL 8引入了一种新的身份验证方法:缓存_sha2_密码这提高了安全身份验证(sha2 哈希)的性能(因此缓存)。这一重大更改很晚才成为新帐户的默认设置,因此当 MySQL 8.0.11 发布时,MySQL Workbench(以及相当多的其他客户端工具)无法为此做好准备。未准备好的客户端应用程序/库将显示上述错误。
许多所谓的“解决方案”只是建议将身份验证方法切换到较旧的、安全性较低的方法(MySQL 本机)。这与其说是一种解决方案,不如说是一种黑客攻击。请记住,这仅适用于默认情况下使用新身份验证方法的新帐户。现有帐户(例如,当您将旧服务器升级到 8.0 时)仍然可以像以前一样工作,除非您显式更改用户的身份验证方法。
与此同时,MySQL Workbench 也赶上来了,并且有一个候选版本(MySQL 工作台 8.0.11 RC)可在 MySQL 下载页面上获取(请参阅“开发版本”选项卡)。将其用于您的 8.x 服务器。 GA 版本即将推出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)