ruby-on-rails 将Rails从MySql 5.7升级到8.0,但连接总是尝试使用TLS/SSL

xcitsw88  于 9个月前  发布在  Ruby
关注(0)|答案(2)|浏览(101)

现有的Rails 6.1应用程序需要升级以使用MySql 8.0 -目前使用的是5.7
在开发过程中,我通过brew安装了MySql 8.0。不幸的是,rails无法连接到本地服务器,并出现错误:
第一个月
在config/database.yml中,我使用了:

adapter: mysql2
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000
  encoding: utf8mb4
  ssl_mode: :disabled
  sslverify: false

字符串
但它似乎仍在尝试使用SSL/TLS连接。
宝石版本:
rails:6.1.7.6
mysql:0.5.5
我已经使用bundle强制重新安装所有gems。
我还需要做什么来防止它尝试使用TLS/SSL进行连接吗?
谢谢

vkc1a9a2

vkc1a9a21#

MacOS的后续版本不再分发OpenSSL库。通常使用Homebrew或MacPorts来安装OpenSSL。确保Ruby运行时和MySQL客户端库都使用相同的OpenSSL家族(1.0或1.1或3.0)编译,因为在运行时只能加载一个。

$ brew install [email protected]
$ gem install mysql2 -- --with-openssl-dir=$(brew --prefix [email protected])

字符串
在mysql gem docs中的更多内容

i2byvkas

i2byvkas2#

通过在MySql中关闭tls/ssl要求来解决:
my.cnf

tls-version = ''

字符串
不知道为什么这样做,但我认为它删除了MySql服务器使用TLS/SSL连接的强制性要求。

相关问题