MySQL-Verbindung verloren: Behebung des Fehlers „Verbindung verloren: Der Server hat die Verbindung geschlossen“
Beim Arbeiten mit Node.js und MySQL Gelegentlich kann es zu einer Fehlermeldung kommen, die darauf hinweist, dass der Server die Verbindung geschlossen hat. Dies geschieht normalerweise zwischen 12:00 und 2:00 Uhr morgens und lässt Sie verwirrt zurück. Die Fehlermeldung erscheint oft wie folgt:
Error: Connection lost: The server closed the connection. at Protocol.end (/opt/node-v0.10.20-linux-x64/IM/node_modules/mysql/lib/protocol/Protocol.js:73:13) at Socket.onend (stream.js:79:10) at Socket.EventEmitter.emit (events.js:117:20) at _stream_readable.js:920:16 at process._tickCallback (node.js:415:13)
Obwohl versucht wird, die empfohlene Lösung zu finden, besteht das Problem weiterhin. Hier ist ein umfassenderer Ansatz, um diesen Fehler effektiv zu behandeln:
var db_config = { host: 'localhost', user: 'root', password: '', database: 'example' }; var connection; function handleDisconnect() { connection = mysql.createConnection(db_config); // Recreate the connection connection.connect(function(err) { // Attempt to connect if(err) { console.log('error when connecting to db:', err); setTimeout(handleDisconnect, 2000); // Delay reconnection attempts } }); connection.on('error', function(err) { console.log('db error', err); if(err.code === 'PROTOCOL_CONNECTION_LOST') { // Connection lost due to server restart or idle timeout handleDisconnect(); } else { throw err; } }); } handleDisconnect();
Dieser Code führt Folgendes aus:
Durch die Implementierung dieses Ansatzes können Sie MySQL-Verbindungsverlustfehler effektiv behandeln und eine nahtlose Datenbankkonnektivität in Ihren Node.js-Anwendungen sicherstellen.
Das obige ist der detaillierte Inhalt vonWarum bricht meine Node.js-MySQL-Verbindung immer wieder um Mitternacht ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!