sql >> Base de Datos >  >> RDS >> Mysql

mysql no respeta la configuración de wait_timeout en my.cnf

Resulta que el problema está en la gema mysql2. Hace algo realmente asombroso ...

Esencialmente, sustituye un valor de espera_tiempo de espera predeterminado de aproximadamente 25 días (2147483 s) propio como el valor de espera_tiempo de espera (probablemente la versión de sesión de espera_tiempo de espera) que usa la conexión, básicamente anulando cualquier configuración que especifiquemos en el servidor.

Estableciendo un valor wait_timeout: en config/database.yml el tiempo de espera funciona como debería. Sin embargo, cuando se interrumpe la conexión, aparece el error "El servidor mysql se ha ido".

Especificando un reconnect:true adjunto opción en base de datos.yml, cada vez que se reutiliza la conexión, el temporizador de la conexión se restablece, PERO después de eso, usa la configuración GLOBAL wait_timeout de mysql directamente

Espero que esto ayude a alguien