文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  使用備份進行還原

9.3.2 使用備份進行還原

現在,假設我們在星期三上午 8 點發生災難性的意外退出,需要從備份還原。若要還原,首先我們還原我們擁有的最後一次完整備份 (星期日下午 1 點的備份)。完整備份檔案只是一組 SQL 陳述式,因此還原它非常容易。

$> mysql < backup_sunday_1_PM.sql

此時,資料會還原到星期日下午 1 點的狀態。若要還原自那時起所做的變更,我們必須使用增量備份;也就是說,gbichot2-bin.000007gbichot2-bin.000008 二進位日誌檔。如有必要,從備份的地點提取檔案,然後像這樣處理其內容。

$> mysqlbinlog gbichot2-bin.000007 gbichot2-bin.000008 | mysql

現在我們已將資料還原到星期二下午 1 點的狀態,但仍然遺失從那天到崩潰日期的變更。為了不遺失這些變更,我們需要將 MySQL 伺服器的 MySQL 二進位日誌儲存到安全的位置 (RAID 磁碟、SAN...),與儲存資料檔案的位置不同,這樣這些日誌就不會在損毀的磁碟上。(也就是說,我們可以啟動伺服器並使用 --log-bin 選項,指定與資料目錄所在的實體裝置不同的位置。這樣一來,即使包含目錄的裝置遺失,日誌也是安全的。) 如果我們這樣做了,我們手上會有 gbichot2-bin.000009 檔案 (和任何後續檔案),而且我們可以利用 mysqlbinlogmysql 套用它們,以還原最近的資料變更,直到崩潰的那一刻都沒有遺失。

$> mysqlbinlog gbichot2-bin.000009 ... | mysql

如需關於使用 mysqlbinlog 來處理二進位日誌檔的詳細資訊,請參閱第 9.5 節「時間點 (增量) 還原」