我正在使用 Sequel gem 连接到数据库。但是,数据库服务器是远程的,所以我必须先通过 SSH 登录。
我的 Ruby 脚本设置为每五分钟 SSH 进入,ping 数据库,然后关闭 SSH 连接。(SSH 由 Net::SSH::Gateway 处理。)
但是我最近在 MySQL 上遇到了“连接太多”的错误。在检查 MySQL 进程列表时,我从 Ruby 脚本中发现了一堆休眠连接。因此,我在db.disconnect
脚本中添加了一行,以便在关闭 SSH 连接之前断开与数据库的连接,这似乎可以解决问题。
我的问题是,数据库连接不会自动关闭吗?为什么会有一堆休眠的 SQL 连接?