Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql respektiert die wait_timeout-Einstellung in my.cnf nicht

Es stellt sich heraus, dass das Problem im mysql2-Gem liegt. Es macht diese wirklich tolle Sache ...

Im Wesentlichen ersetzt es einen eigenen Wait_timeout-Wert von etwa 25 Tagen (2147483s) als Wait_timeout-Wert (wahrscheinlich die Sitzungsversion von wait_timeout), den die Verbindung verwendet, und überschreibt im Grunde jede Einstellung, die wir auf dem Server festlegen.

Durch Festlegen eines wait_timeout:value in config/database.yml funktioniert das timeout wie es soll. Wenn die Verbindung jedoch beendet wird, erhalten Sie die Fehlermeldung "Mysql-Server ist verschwunden".

Durch Angabe eines begleitenden reconnect:true Option in database.yml, jedes Mal, wenn die Verbindung wiederverwendet wird, wird der Timer der Verbindung zurückgesetzt, ABER danach wird die GLOBAL wait_timeout-Einstellung von mysql direkt verwendet

Hoffe, das hilft jemandem