如何使用 Ruby 和 mysql2 gem 通过 TLS1.2 连接 mysql 数据库

How to use Ruby and mysql2 gem to connect mysql database via TLS1.2

我在使用 Ruby 和 mysql2 gem 通过 TLSV1.2 连接到 mysql 数据库时遇到问题。 ruby 脚本是 Windows 上的 运行。我收到以下错误:

TLS version used does not meet minimal requirements for this server. Please use a higher TLS version and retry.

根据一些研究,我认为 mysql2 使用 Connector/C 库 (6.1.1),它似乎是针对 YASSL 构建的,它只支持最高 TLSV1.1。我可以通过 TLSV1.1 成功连接,但如果我将连接限制为 TLSV1.2,则会出现上述错误。

似乎可以获得针对支持高 TLS 版本的 OpenSSL 构建的版本,但我发现关于它是否仅适用于商业版本,或者是否也可通过社区版本获得的相互矛盾的信息。有没有人有这方面的专业知识,可以推荐一个可能的解决方案?是否可以获得 mysql2 和兼容 TLSV1.2 的连接器?

你说得对 mysql2 using connector/c

不确定 6.1.1 版本的来源。您是说 MariaDB-connector-c-3.1.11? 谁的发行说明在 openssl 版本中宣传了 TLS-1.3。

我检查了从上面 link 下载的 centos8 二进制文件及其针对系统 openssl 的 linked(查看 ldd ./lib/mariadb/libmariadb.so)。

据我所知,这里没有社区与企业的区别。