簡體   English   中英

使用 php web 應用程序恢復數據庫備份

[英]Restore db backup with php web application

不幸的是,我幾天前丟失了我的數據庫,但幸運的是我每天都有備份。

不幸的是我幾天前丟失了我的數據庫(我的一些數據不是整個數據庫)但幸運的是我每天都有備份。今天我發現我必須恢復 180 個巨大的數據庫。 我需要將每 180 個數據庫(備份)與當前數據庫(我的數據庫)進行比較,並插入不再存在於我的數據庫中的數據。 一開始我想使用一些應用程序,如(NAVICAT 或 db forge studio),但不可能花很多時間。 而且我還想將 SQL 測試相互比較,這也是不可能的。

現在我必須構建一個 Web 應用程序(PHP)來恢復數據庫,但我不知道如何

如果有人幫助我,我將不勝感激。

謝謝你。

如果它是一個大文件,請不要打開它。 流它。

$backup = fopen("yourBackUp.sql", "r");

// ...

fclose($backup);

如果您有很多文件,請使用GLOB

foreach(glob(dirname(__FILE__) . '/*.sql', GLOB_BRACE) as $sql) {
    $backup = fopen($sql, "r");

    // ...
}

如果您的數據庫設置正確,您應該無法插入重復的行。

while (($line = fgets($backup)) !== false)
    try {
        Illuminate\Support\Facades\DB::raw($line);
    } catch ( Exception $e ) { 
        // duplicate row
    }
}

沒有看到您所做的事情和您的程序問題,我們無能為力。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM