我有一个运行 MySQL 服务器 5.7.27 的本地开发人员环境。我使用 MySQL Workbench 6.3.10(这是 8.0 之前的最新版本 AFAIK)没有任何问题。但是,当我升级到 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 也是这样(它是一个衍生产品)。
好的,正如在几个地方所指出的那样,问题与您的客户端只允许与 TLS 1.2 或更高版本对话有关,这是新的 Ubuntu 版本和软件所要求的,但您的服务器只有 TLS 1.1。并且是不允许的。
您可以将服务器更新到允许 TLS 1.2 的较新版本的 MySQL,或者如果现在这是一个大问题,唯一的解决方案是关闭工作台上的加密。为此,在您的工作台连接上,转到 SSL,并将使用 SSL 设置为“否”。这必须只是一个临时解决方案,因为不建议出于安全问题删除 SSL。但至少,您可以连接到您的服务器。
从工作台导出数据时,我遇到了类似的问题。我正在使用 SSH 连接到 AWS RDS 实例。连接成功,但我在导出时遇到问题。导出不适用于特定的 MySQL 实例,即 5.7.19,它适用于 5.7.22。为本地 MySQL 禁用 SSL 解决了这个问题。请参阅https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1872541供您参考。
这对我有用:
链接:https ://downloads.mysql.com/archives/workbench/