Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql ne respectant pas le paramètre wait_timeout dans my.cnf

Il s'avère que le problème est dans la gemme mysql2. Il fait ce truc vraiment génial ...

Essentiellement, il remplace une valeur wait_timeout par défaut d'environ 25 jours (2147483 s) qui lui est propre comme valeur wait_timeout (probablement la version de session de wait_timeout) utilisée par la connexion, remplaçant essentiellement tout paramètre que nous spécifions sur le serveur.

En définissant une wait_timeout :valeur dans config/database.yml, le délai d'attente fonctionne comme il se doit. Cependant, lorsque la connexion est interrompue, vous obtenez des erreurs "le serveur mysql est parti".

En spécifiant un accompagnement reconnect :true dans database.yml, chaque fois que la connexion est réutilisée, le minuteur de la connexion est réinitialisé, MAIS après cela, il utilise directement le paramètre GLOBAL wait_timeout de mysql

J'espère que cela aide quelqu'un