当我尝试连接到MySQL Workbench上的服务器时,我收到错误
您的连接尝试未能成为用户' root'从您的主机到服务器作为localhost:3306:
无法加载身份验证插件
caching_sha2_password
:找不到指定的模块。
好像我没有安装caching_sha2_password
的模块。如何安装此插件?
我尝试按照here提供的步骤进行操作。但这是我与MySQL的第一次互动,所以我不明白这些步骤。
例如,在使用SHA-2可插入身份验证下,它表示
"将这些值存储在>的
plugin
和authentication_string
列中mysql.user
系统表。"
但是mysql.user
系统表在哪里?我如何访问它并存储值?
非常感谢任何帮助!
答案 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版本即将推出。