NodeJS MySQL Dump
In diesem Artikel befassen wir uns mit den Herausforderungen, die beim Versuch auftreten, ein Cron-Skript zum Dump eines MySQL zu erstellen Datenbank mit NodeJS.
Problem
Das Skript scheint eine Datei erfolgreich zu speichern, aber die resultierende Datei bleibt leer. Darüber hinaus führen Versuche, den Dump in der Konsole zu protokollieren, zu einer leeren Zeichenfolge.
Lösung
Bei näherer Betrachtung wird das Problem offensichtlich. Dem Code fehlt ein entscheidender Schritt: die Verbindung zur Datenbank. Ohne Verbindung zur Datenbank können die nachfolgenden SQL-Abfragen und -Aktionen nicht ausgeführt werden.
Daher besteht der erste Schritt darin, mit der Methode „connection.connect()“ eine Verbindung zur Datenbank herzustellen. Diese Methode akzeptiert einen Rückruf als Argument. Der Code in diesem Rückruf kann sicher ausgeführt werden, sobald die Verbindung hergestellt wurde.
Aber auch nach dem Herstellen der Verbindung müssen noch weitere Probleme behoben werden. Die Methode save_backup() wird über den Rückruf „SHOW TABLES“ aufgerufen und nicht nach dem Auffüllen der Sicherungseigenschaft über den Rückruf der SQL-Abfrage.
Hier ist eine modifizierte Version des Codes, die die erforderlichen Korrekturen enthält:
connection.connect(function (err, empty) { if (err) throw new Error ('Panic'); // SQL queries and other actions go here... connection.destroy(); });
Indem Sie die SQL-Abfragen und -Aktionen in den Connection.connect()-Callback einschließen, stellen Sie sicher, dass sie erst ausgeführt werden, nachdem die Verbindung hergestellt wurde. Darüber hinaus wird die Verbindung geschlossen, sobald alle Aktionen ausgeführt wurden.
Dadurch sollte das Problem behoben sein und Sie können die MySQL-Datenbank erfolgreich in eine Datei sichern.
Das obige ist der detaillierte Inhalt vonWarum generiert mein NodeJS-Skript eine leere MySQL-Dump-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!