MySQL データベースをダンプしようとすると、ファイルが作成されたにもかかわらず空のままになるという問題が発生します。この記事では、この動作の潜在的な理由を調査し、指定されたコード スニペットに基づいた解決策を提供します。
最初の問題は、クエリを発行する前にデータベースに接続できなかったことから発生しました。さらに、connection.destroy() メソッドが途中で呼び出されたため、保留中の SQL 呼び出しが中断されました。
これらの問題を修正するために、次の変更が行われました。 :
<code class="javascript">var mysql_backup = function(){ //... this.connection.connect(function (err, empty) { //... }); //... this.get_tables = function(callback){ var counter = 0; var me = this; this.query('SHOW TABLES', function(tables) { for (table in tables){ counter++; me.query( 'SHOW CREATE TABLE ' + tables[table].Tables_in_mvc, function(r){ //... counter--; if (counter === 0){ me.save_backup(); me.connection.destroy(); } } ) } }); }; //... }; var db = new mysql_backup; db.init(); db.get_tables();</code>
コードの可読性と有効性を高めるために、次のようなさらなる改善が含まれる可能性があります。
接続の問題を修正し、コールバックの実行順序を適切に調整することで、未処理の SQL 呼び出しを追跡すると、ファイルを空にする問題が解決され、MySQL データベースの「ダンプ」が成功するようになります。
以上がNodeJS MySQL ダンプ ファイルが空になるのはなぜですか? どのように修正すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。