为什么 MySQL Workbench 8.x 出现 SSL 连接错误,请选择客户端版本不支持的协议

为什么 MySQL Workbench 8.x 出现 SSL 连接错误,请选择客户端版本不支持的协议

我有一个运行 MySQL 服务器 5.7.27 的本地开发环境。我使用 MySQL Workbench 6.3.10(据我所知,这是 8.0 出现之前的最新版本),没有任何问题。但是,当我升级到 MySQL Workbench 8.0.18 并尝试连接到完全相同的本地服务器时,出现错误:

Failed to Connect to MySQL at 127.0.0.1:3306 with user root
SSL connection error: error:1425F102:SSL
routines:ssl_choose_client_version:unsupported protocol

这不是 root 访问权限的问题,因为我可以使用 6.3.10 工作台连接到完全相同的服务器,而无需进行任何配置更改。出于同样的原因,我相信 127.0.0.1 也不是问题。

也许这和 OpenSSL 有关?但我在日志中看不到足够的信息。我得到的大部分信息都[Note] Bad handshake在 中/var/log/mysql/error/log。因此,如果我关闭 SSL 连接(强制未加密连接),Workbench 就可以连接。所以很明显 Server 5.7.2x 和 8.x Workbench 之间存在一些不匹配,但为什么呢?

我安装了 Workbench 8.0.18 的 18.04 LTS 版本,假设我的 Ubuntu 也是这样的(它是一个衍生产品)。

答案1

好的,正如指出的那样几个地方,问题在于您的客户端仅允许与 TLS 1.2 或更高版本对话,这是新版 Ubuntu 和软件所要求的,但您的服务器只有 TLS 1.1。并且不允许。

您可以将服务器更新为允许 TLS 1.2 的较新版本的 MySQL,或者如果这现在是一个大问题,唯一的解决方案是关闭工作台上的加密。为此,在您的工作台连接上,转到 SSL,并将使用 SSL 设置为“否”。这必须只是一个临时解决方案,因为出于安全问题,不建议删除 SSL。但至少,您可以连接到您的服务器。

在 MySQL 工作台上禁用 SSL 加密

答案2

从工作台导出数据时,我遇到了类似的问题。我使用 SSH 连接到 AWS RDS 实例。连接成功,但在导出时出现问题。导出在特定 MySQL 实例(即 5.7.19)上不起作用,但在 5.7.22 上起作用。禁用本地 MySQL 的 SSL 可解决此问题。请参阅https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1872541供你参考。

答案3

这对我有用:

  1. 卸载 MySQL workbench(最新版本)
  2. 安装 MySQL 工作台 8.0.20

关联:https://downloads.mysql.com/archives/workbench/

相关内容