Heim >Datenbank >MySQL-Tutorial >Warum erhält meine Node.js-App bei der Verwendung von MySQL die Fehlermeldung „Verbindung verloren: Der Server hat die Verbindung geschlossen' und wie kann ich sie beheben?
Verbindung verloren: Fehlerbehebung bei MySQL-Verbindungsabbrüchen in Node.js
Node.js-Benutzer stoßen möglicherweise auf die Meldung „Verbindung verloren: Der Server hat die Verbindung geschlossen.“ "Fehler bei Verwendung des MySQL-Moduls. Dieses Problem tritt auf, wenn der Server die TCP-Verbindung abrupt beendet, häufig innerhalb eines bestimmten Zeitbereichs (z. B. zwischen Mitternacht und 2 Uhr morgens).
Ursache
Der Fehler zeigt an dass die Verbindung zwischen Node.js und dem MySQL-Server vom Server getrennt wurde, typischerweise aufgrund einer unerwarteten Verbindungsunterbrechung oder eines unerwarteten Serverabbruchs Neustart.
Lösung
Um dieses Problem zu beheben, kann man einen Verbindungsverarbeitungsmechanismus einsetzen, der verlorene Verbindungen automatisch erkennt und wiederherstellt. Hier ist ein Beispiel:
var db_config = { host: 'localhost', user: 'root', password: '', database: 'example' }; var connection; function handleDisconnect() { connection = mysql.createConnection(db_config); connection.connect(function(err) { if (err) { console.log('error when connecting to db:', err); setTimeout(handleDisconnect, 2000); } }); connection.on('error', function(err) { console.log('db error', err); if (err.code === 'PROTOCOL_CONNECTION_LOST') { handleDisconnect(); } else { throw err; } }); } handleDisconnect();
Erklärung
In dieser Lösung:
Durch die Implementierung dieses Verbindungsverarbeitungsmechanismus können Sie sicherstellen, dass Ihre Anwendung temporäre Verbindungen ordnungsgemäß verarbeiten kann Verluste zu vermeiden und eine zuverlässige Verbindung zur MySQL-Datenbank aufrechtzuerhalten, auch während Serverneustarts oder Wartungsperioden.
Das obige ist der detaillierte Inhalt vonWarum erhält meine Node.js-App bei der Verwendung von MySQL die Fehlermeldung „Verbindung verloren: Der Server hat die Verbindung geschlossen' und wie kann ich sie beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!