在嘗試轉儲 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中文網其他相關文章!