NodeJS MySQL Dump
Dans cet article, nous aborderons les défis rencontrés lors de la tentative de création d'un script cron pour vider un MySQL base de données utilisant NodeJS.
Problème
Le script semble enregistrer avec succès un fichier, mais le fichier résultant reste vide. De plus, les tentatives de console.log du vidage aboutissent à une chaîne vide.
Solution
En y regardant de plus près, le problème devient évident. Le code manque une étape cruciale : la connexion à la base de données. Sans connexion à la base de données, les requêtes et actions SQL suivantes ne peuvent pas être exécutées.
Par conséquent, la première étape consiste à se connecter à la base de données à l'aide de la méthode connection.connect(). Cette méthode prend un rappel comme argument. Le code contenu dans ce rappel peut être exécuté en toute sécurité une fois la connexion établie.
Cependant, même après avoir établi la connexion, il existe des problèmes supplémentaires à résoudre. La méthode save_backup() est appelée à partir du rappel 'SHOW TABLES' plutôt qu'après avoir renseigné la propriété de sauvegarde via le rappel de requête SQL.
Voici une version modifiée du code qui inclut les corrections nécessaires :
connection.connect(function (err, empty) { if (err) throw new Error ('Panic'); // SQL queries and other actions go here... connection.destroy(); });
En encapsulant les requêtes et actions SQL dans le rappel connection.connect(), vous vous assurez qu'elles ne sont exécutées qu'une fois la connexion établie. De plus, la connexion est fermée une fois toutes les actions exécutées.
Cela devrait résoudre le problème et vous permettre de vider avec succès la base de données MySQL dans un fichier.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!