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

ECONNRESET-Fehler, der die NodeJS-Anwendung zum Absturz bringt

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