Hóa ra vấn đề là ở đá quý mysql2. Nó thực hiện điều này thực sự tuyệt vời ...
Về cơ bản, nó thay thế giá trị wait_timeout mặc định trong khoảng 25 ngày (2147483 giây) của chính nó thành giá trị wait_timeout (có thể là phiên bản phiên của wait_timeout) mà kết nối sử dụng, về cơ bản ghi đè bất kỳ cài đặt nào chúng tôi chỉ định trên máy chủ.
Bằng cách đặt wait_timeout:value trong config / database.yml thời gian chờ hoạt động như bình thường. Tuy nhiên, khi kết nối bị ngắt, bạn sẽ gặp lỗi "máy chủ mysql đã biến mất".
Bằng cách chỉ định kết nối lại:true đi kèm tùy chọn trong database.yml, mỗi khi kết nối được sử dụng lại, bộ đếm thời gian của kết nối sẽ được đặt lại, NHƯNG sau đó nó sử dụng cài đặt GLOBAL wait_timeout từ mysql trực tiếp
Hy vọng điều này sẽ giúp ai đó