我正在连接MySQL - 8.0与MySQL工作台和得到以下错误:

无法加载认证插件“caching_sha2_password”: dlopen (/ usr /地方/ mysql / lib /插件/ caching_sha2_password。所以,2):图像 没有找到

我也尝试过其他客户端工具。

有什么解决办法吗?


当前回答

回滚到以前的安装(MySQL Community Server 5.7和Workbench 6.1)并设置新的MySQL凭证对我来说很有效!

其他回答

对于Windows 10,

修改C:\ProgramData\MySQL\MySQL Server 8.0目录下my.ini文件 (mysqld) default_authentication_plugin = mysql_native_password 重新启动MySQL服务。 通过命令行登录MySQL,在MySQL中执行如下命令: 创建新用户。 创建用户“USER”@“localhost” 授予所有特权。 授予'user'@'localhost'上的所有权限; 打开MySQL工作台,并使用新的用户凭证打开一个新连接。

我也面临着同样的问题,这个方法奏效了。

实际上MySql在安装时允许两种类型的身份验证。

密码加密 传统加密

在这里阅读

因此,通过检查遗留身份验证,问题得到了解决。

如果你像我一样在GitLab上得到这个错误: 只要从最新版本更改到5.7版本即可;)

# .gitlab-ci.yml

rspec:
  services:
    # - mysql:latest (I'm using latest version and it causes error)
    - mysql:5.7 #(then I've changed to this specific version and fix!)

我在Windows 10电脑上使用“MySQL Web安装程序”安装MySQL,在尝试使用MySQL工作台连接时遇到了同样的问题。我通过在安装程序窗口中重新配置服务器来解决这个问题。

点击“重新配置”选项将允许重新配置服务器。点击“下一步”,直到你到达“认证方法”。

在这个选项卡上,使用第二个选项“使用遗留身份验证方法(保留MySQL 5。x兼容性)”。

保持一切不变,这就是我如何解决我的问题。

打开MySQL命令行客户端 使用新通行证创建一个新用户

考虑一个bin文件夹路径的例子,下面是你需要在命令提示符中逐行运行的代码:

cd C:\Program Files\MySQL\MySQL Server 5.7\bin
MySQL -u root -p    
current password...***  
CREATE USER 'nativeuser'@'localhost'  
IDENTIFIED WITH mysql_native_password BY 'new_password';

然后,您可以再次访问Workbench(在创建新的localhost连接并使用新的凭据开始使用程序之后,您应该能够这样做)。

用上面提到的用户名(本机用户)建立一个新的本地主机连接,使用密码(new_password)登录

由Career365团队回答的UDEMY常见问题