NodeJS MySQL ダンプ
この記事では、MySQL をダンプする cron スクリプトを作成しようとするときに直面する課題について詳しく説明しますNodeJS を使用したデータベース。
問題
スクリプトはファイルを正常に保存したように見えますが、結果のファイルは空のままです。さらに、ダンプを console.log に記録しようとすると、空の文字列が返されます。
解決策
詳しく調べると、問題が明らかになります。このコードには、データベースへの接続という重要なステップが抜けています。データベースに接続しないと、後続の SQL クエリとアクションは実行できません。
したがって、最初のステップは、connection.connect() メソッドを使用してデータベースに接続することです。このメソッドはコールバックを引数として受け取ります。このコールバック内のコードは、接続が確立されると安全に実行できます。
ただし、接続を確立した後でも、対処すべき追加の問題があります。 save_backup() メソッドは、SQL クエリ コールバックを介してバックアップ プロパティを設定した後ではなく、「SHOW TABLES」コールバックから呼び出されます。
必要な修正を含むコードの修正バージョンを次に示します。
connection.connect(function (err, empty) { if (err) throw new Error ('Panic'); // SQL queries and other actions go here... connection.destroy(); });
SQL クエリとアクションを connection.connect() コールバック内にラップすることで、接続が確立された後にのみ実行されるようになります。さらに、すべてのアクションが実行されると接続が閉じられます。
これにより問題が解決され、MySQL データベースをファイルに正常にダンプできるようになります。
以上がNodeJS スクリプトが空の MySQL ダンプ ファイルを生成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。