安全資料庫管理的關鍵是定期備份。根據您的資料量、MySQL 伺服器數量和資料庫工作負載,您可以單獨或組合使用以下備份技術:使用 MySQL Enterprise Backup 進行熱備份;在 MySQL 伺服器關閉時複製檔案進行冷備份;使用 mysqldump 針對較小的資料量或記錄綱要物件結構進行邏輯備份。熱備份和冷備份是複製實際資料檔案的實體備份,mysqld 伺服器可以直接使用這些資料檔案以加快還原速度。
建議使用 MySQL Enterprise Backup 來備份 InnoDB
資料。
InnoDB
不支援使用第三方備份工具還原的資料庫。
熱備份
mysqlbackup 命令是 MySQL Enterprise Backup 元件的一部分,可讓您在 MySQL 執行個體執行時進行備份,包括 InnoDB
表格,在對操作造成最小干擾的情況下產生資料庫的一致性快照。當 mysqlbackup 複製 InnoDB
表格時,可以繼續讀取和寫入 InnoDB
表格。MySQL Enterprise Backup 也可以建立壓縮備份檔案,並備份表格和資料庫的子集。結合 MySQL 二進位記錄檔,使用者可以執行時間點復原。MySQL Enterprise Backup 是 MySQL 企業訂閱的一部分。如需更多詳細資訊,請參閱第 32.1 節,「MySQL Enterprise Backup 概述」。
冷備份
如果您可以關閉 MySQL 伺服器,您可以建立一個實體備份,其中包含 InnoDB
用於管理其表格的所有檔案。使用下列程序
對 MySQL 伺服器執行慢速關閉,並確保它在沒有錯誤的情況下停止。
將所有
InnoDB
資料檔案(ibdata
檔案和.ibd
檔案)複製到安全的地方。將所有
InnoDB
重做記錄檔(#ib_redo
檔案)複製到安全的地方。N
將您的
my.cnf
設定檔或檔案複製到安全的地方。
使用 mysqldump 的邏輯備份
除了實體備份之外,建議您定期使用 mysqldump 傾印資料表來建立邏輯備份。二進位檔案可能會在您沒有注意到的情況下損毀。傾印的資料表會儲存在人類可讀的文字檔中,因此更容易發現資料表損毀。此外,由於格式更簡單,發生嚴重資料損毀的可能性也較小。mysqldump 還具有 --single-transaction
選項,可讓您在不鎖定其他用戶端的情況下建立一致的快照。請參閱 第 9.3.1 節,「建立備份策略」。
複寫適用於 InnoDB
資料表,因此您可以使用 MySQL 複寫功能,在需要高可用性的資料庫站點保留資料庫的副本。請參閱 第 17.19 節,「InnoDB 和 MySQL 複寫」。