![为什么 MySQL Workbench 8.x 出现 SSL 连接错误,请选择客户端版本不支持的协议](https://linux22.com/image/918552/%E4%B8%BA%E4%BB%80%E4%B9%88%20MySQL%20Workbench%208.x%20%E5%87%BA%E7%8E%B0%20SSL%20%E8%BF%9E%E6%8E%A5%E9%94%99%E8%AF%AF%EF%BC%8C%E8%AF%B7%E9%80%89%E6%8B%A9%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%89%88%E6%9C%AC%E4%B8%8D%E6%94%AF%E6%8C%81%E7%9A%84%E5%8D%8F%E8%AE%AE.png)
我有一个运行 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。但至少,您可以连接到您的服务器。
答案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
这对我有用:
- 卸载 MySQL workbench(最新版本)
- 安装 MySQL 工作台 8.0.20