Ternyata masalahnya ada di permata mysql2. Ia melakukan hal yang sangat luar biasa ...
Pada dasarnya ini menggantikan nilai wait_timeout default sekitar 25 hari (2147483s) sebagai nilai wait_timeout (mungkin versi sesi wait_timeout) yang digunakan koneksi, pada dasarnya mengesampingkan pengaturan apa pun yang kami tentukan di server.
Dengan menyetel wait_timeout:nilai di config/database.yml batas waktu berfungsi sebagaimana mestinya. Namun, ketika koneksi terputus, Anda mendapatkan kesalahan "server mysql telah hilang".
Dengan menentukan reconnect:true . yang menyertainya opsi di database.yml, setiap kali koneksi digunakan kembali, timer koneksi diatur ulang, TETAPI setelah itu menggunakan pengaturan wait_timeout GLOBAL dari mysql secara langsung
Semoga ini bisa membantu seseorang