文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  使用備份進行復原

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 節,「時間點(增量)復原」