【发布时间】:2018-10-14 15:00:45
【问题描述】:
我尝试从 MySQL Workbench 连接到最新的 MySQL 服务器 8.0.11,但一直弹出错误:无法连接到 MySQL 服务器,身份验证插件:caching_sha2_password:找不到指定的模块。
我尝试在线查看MySQL服务器安装视频并准确复制每个步骤,但错误仍然存在。
非常感谢任何帮助。
【问题讨论】:
标签: mysql plugins mysql-workbench
我尝试从 MySQL Workbench 连接到最新的 MySQL 服务器 8.0.11,但一直弹出错误:无法连接到 MySQL 服务器,身份验证插件:caching_sha2_password:找不到指定的模块。
我尝试在线查看MySQL服务器安装视频并准确复制每个步骤,但错误仍然存在。
非常感谢任何帮助。
【问题讨论】:
标签: mysql plugins mysql-workbench
翻来覆去,居然找到了解决办法:
在配置过程中,当您到达身份验证方法时,请选择 Legacy Authentication Method。
它对我有用~!
【讨论】:
见:
Changes in MySQL Workbench 8.0.11 (2018-04-19, Release Candidate)
...
- MySQL Workbench 现在支持 MySQL 8.0 中引入的 caching_sha2_password 身份验证插件(请参阅Caching SHA-2 Pluggable Authentication)。可以重置用户帐户以使用其他可用的身份验证类型进行连接。
...
【讨论】:
我有以下解决方案:
在 [mysqld] 部分中更改 my.ini,如下所示:
#default_authentication_plugin=caching_sha2_password (comment line!)
default_authentication_plugin=mysql_native_password (new line)
在命令行客户端的根目录下连接到您的 MySQL 并执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx';
xxx 是您当前的密码。
【讨论】:
... BY 'xxx' 更改为我想要的新 密码,而不是我之前的密码。
my.ini 是又名 my.cnf。
如果你刚刚安装了mysql服务器。再次运行安装程序,它将允许您重新配置选项。 在第三幕它会说 “使用旧的身份验证方法” 选择那个选项
【讨论】:
尝试连接你的 MySQL 使用终端,然后使用它。
mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
【讨论】:
我在 HeidiSQL 中看到了这个问题,我在 HeidiSQL Github 存储库中找到了解决方法:
https://github.com/HeidiSQL/HeidiSQL/issues/163
我通过将我上次安装的 MySql 中的 libmysql.dll 复制到我的 HeidiSQL 文件夹来修复。
【讨论】:
libmariadb.dll 文件以及从 MySQL lib 文件夹中更新 libmysql.dll 时,它起作用了。
“caching_sha2_password”的实际原因是因为在 Authentication Method 下安装 MySQL 时,默认选择 Use Strong Crypted Password 单选按钮,而不是我们需要提供 User Legacy Authentication type 密码的密码选项
在 MySQL WorkBench 中运行:
ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
然后在以下目录路径下进一步编辑要访问的凭据和架构:
ror_project_path/config/database.yml
【讨论】:
我知道这是一个旧帖子。这只是分享我的经验,希望它对某人有用。 我也面临类似的问题。 我们可以使用 Heidisql 的便携版。便携版没有这个问题。
【讨论】:
使用 mysql_native_password 是一种解决方法。
您的客户端软件(MySQL Workbench)不支持身份验证插件很可能是因为它是旧版本。
点击上面的链接。
【讨论】: