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

Verliere nach einer Weile die Verbindung zu MySQL und stelle die Verbindung nicht wieder her

Wie Sie vorschlagen, liegt dies daran, dass mysql inaktive Verbindungen nach jedem wait_timeout schließt geht vorbei; Sie haben einige Möglichkeiten, Ihr Problem zu umgehen:

  • Verwenden Sie einen Verbindungspool-Manager wie c3p0 oder Apache DBCP . Dies kümmert sich um die erneute Validierung von Verbindungen auf Anfrage, schließlich können Sie angeben, welche Abfrage ausgeführt werden soll, um zu testen, ob die Verbindung aktiv ist.
  • set wait_timeout in mysql groß genug für Ihren Anwendungsfall (Standard ist 8 Stunden).
  • eine geplante Aufgabe einrichten (zum Beispiel mit quartz ). ), das Verbindungen aktualisiert und den MySQL-Server "pingt".