Zuallererst sollten Sie catch
den Fehler, damit Ihre App richtig damit umgehen kann und nicht abstürzt, wenn die MySQL-Verbindung aus irgendeinem Grund geschlossen wird. Versuchen Sie es entweder mit connection.on('error', ...)
oder mit try-catch Blöcken
.
Um eine offene Verbindung aufrechtzuerhalten, sollten Sie die Verbindung entweder beim Schließen wiederherstellen. Oder verwenden Sie einfach die Pooling-Verbindung von mysql , das die automatische Wiederverbindung mit einer einzigen Codeänderung sehr gut handhabt.
PS:Das Poolen mehrerer Verbindungen ist im Allgemeinen eine gute Idee für asynchrone Apps wie Server, aber es ist sicher, eine einzelne Verbindung über das Pooling aufrechtzuerhalten (connectionLimit : 1
) nur für die automatische Wiederverbindung selbst.
PPS:Das Inaktivitäts-Timeout von Mysql kann in my.cnf
des Servers konfiguriert werden