我在Windows 10上运行MySQL,我在我的本地计算机(版本8.0.11)上全新安装了MySQL for Windows,使用开发计算机配置完全安装。我可以在MySQL Workbench上登录我的服务器。我已经安装了MySQL for Excel插件。我还没有将任何表添加到数据库中,我计划通过Excel添加它们。
当我点击Excel中的MySQL for Excel选项卡并尝试以root身份连接到我的本地实例时,它会失败。
错误消息
任何可用插件都不支持身份验证方法'caching_sha2_password'。
阅读此版本的文档,似乎该插件应自动包含在下载中。
感谢你们给予的任何帮助。
答案 0 :(得分:3)
转到搜索类型-> MySQL Installer-社区,然后输入。 然后打开对话框,按是。
在mysql服务器上选择“重新配置”;
在“身份验证方法”选项卡中,选择“使用旧式身份验证方法”
答案 1 :(得分:2)
我也有类似的问题。
这种方式可以解决您的问题:
答案 2 :(得分:0)
在MySQL 8.0.4中,他们将哈希算法从mysql_native_password
更改为caching_sha2_password
(SHA-256)。 MySQL插件,即使与MySQL 8捆绑在一起安装,也不能与SHA-256一起使用。因此,我们需要创建一个具有mysql_native_password
,授予权限和刷新特权的用户。
最后一点,MySQL8用户名不是唯一的,并且可以通过两种方式使用两个用户名相同的用户来访问重叠资源(对个人使用授权而不使用新角色功能)以前。
MySQL由Oracle拥有,这与Oracle 12c数据库的工作方式更为相似。乍看起来似乎很麻烦,但是我认为该模型更好。
只需创建一个专门用于通过插件进行连接的用户。运行以下命令
CREATE USER 'excel_plugin_user'@'%' IDENTIFIED WITH mysql_native_password BY 'P@ssw0rd1';
GRANT ALL PRIVILEGES ON * . * TO 'excel_plugin_user'@'%';
FLUSH PRIVILEGES;
然后将excel_plugin_user用于所有MySQL Excel插件连接。这只是最小可行的解决方法,但不一定是最佳实践。
我通常为此用户创建一个imp表空间,并将所有数据仅从localhost导入到该表空间(设置为默认值,否则将无法工作),并且通常会创建一个角色来咬我的关系数据。但是,我认为真正的DBA可以设置公钥/私钥(也受支持)
您也可以将以下行添加到my.cnf文件(或任何Windows称为)
[mysqld]
default_authentication_plugin=caching_sha2_password
如果希望它与会话相关,则可以设置一个命令行标志。我不知道在场