本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Percona XtraBackup
Percona XtraBackup
此工具使用實體遷移方法。它直接複製 MySQL 或 MariaDB 資料目錄及其中的檔案。對於大型資料庫,例如大於 100 GB 的資料庫,這可以提供比其他一些工具更好的還原時間。您可以建立內部部署來源資料庫的備份,將備份檔案遷移至雲端,然後在新的目標資料庫執行個體上還原備份。
下圖顯示使用 Percona XtraBackup 備份檔案遷移資料庫時涉及的高階步驟。根據備份檔案的大小,有兩個選項可用於將備份傳輸至 中的 Amazon Simple Storage Service (Amazon S3) 儲存貯體 AWS 雲端。
以下是使用 Percona XtraBackup 將資料庫遷移至 的步驟 AWS 雲端:
-
在內部部署伺服器上安裝 Percona XtraBackup 。如果您使用的是 Amazon Aurora MySQL 第 2 版或 Amazon RDS,請參閱安裝 Percona XtraBackup2.4。
如果您使用的是 Amazon Aurora MySQL 第 3 版,請參閱 Percona XtraBackup 文件中的安裝 PerconaWord8.0 。 XtraBackup -
建立來源 MySQL 或 MariaDB 資料庫的完整備份。如需 Percona XtraBackup2.4 的指示,請參閱完整備份
。如需 Percona XtraBackup8.0 的指示,請參閱建立完整備份 。 -
使用下列其中一種方法,將備份檔案上傳至 S3 儲存貯體。
方法 3A – 對於小於 10 TB 的資料庫備份檔案,您可以使用組織中核准的服務或工具透過網際網路傳輸備份檔案,例如:
方法 3B – 對於大於 10 TB 的資料庫備份檔案,請使用 將備份檔案AWS Snowball Edge傳輸至 S3 儲存貯體。如需詳細說明,請參閱下列主題:
-
使用 Snowball Edge 文件中的 Amazon S3 介面傳輸檔案
-
Snowball 上傳程式指令碼
in GitHub
-
-
從 S3 儲存貯體,將備份檔案還原至目標資料庫執行個體。如需詳細說明,請參閱下列主題:
-
針對 Aurora MySQL 相容版本,請參閱 Amazon SQL 文件中的使用 Amazon S3 儲存貯體從 MyWord 遷移資料Amazon S3。 RDS
-
對於 Amazon RDS for MySQL 或 Amazon EC2,請參閱將資料匯入 MySQL 資料庫執行個體。
-
對於適用於 MariaDB RDS的 Amazon Word 或適用於 Amazon EC2,請參閱將資料匯入 MariaDB 資料庫執行個體。
-
-
(選用) 您可以設定來源資料庫與目標資料庫執行個體之間的複寫。您可以使用二進位日誌 (binlog) 複寫來減少停機時間。如需詳細資訊,請參閱下列內容:
-
在 MySQL 文件中設定複寫來源組態
-
對於 Amazon Aurora,請參閱以下內容:
-
對於 Amazon RDS,請參閱以下內容:
-
如需 Amazon EC2,請參閱下列內容:
-
在 MySQL 文件中設定二進位日誌檔案位置型複寫
-
在 MySQL 文件中設定複本
-
在 MariaDB 文件中設定複寫
-
-
優點
-
由於 Percona XtraBackup 使用實體遷移方法,還原程序通常比使用邏輯遷移方法的工具更快。這是因為效能受到磁碟或網路輸送量的限制,而不是資料處理所需的運算資源。
-
由於還原程序是從 S3 儲存貯體直接複製到目標資料庫執行個體的檔案,因此 Percona XtraBackup 檔案還原速度通常比使用其他工具建立的備份檔案更快。
-
Percona XtraBackup 是可調整的。例如,它支援多個執行緒,協助您更快地複製檔案,並支援壓縮以減少備份的大小。
限制
-
無法進行離線備份,因為 Percona XtraBackup 必須能夠存取來源資料庫伺服器。
-
Percona XtraBackup 只能在具有相同系統架構的系統上使用。例如,無法將在 Intel for Windows Server 上執行的來源資料庫備份還原至 ARM for Linux 目標伺服器。
-
Maria 資料庫 10.3 版不支援 Percona XtraBackup ,Maria 資料庫 10.2 版和 10.1 版僅部分支援 PerconaWord。如需詳細資訊,請參閱 MariaDB 知識庫中的 Percona XtraBackup 概觀:與 MariaDB 的相容性
。 MariaDB -
您無法使用 Percona XtraBackup 將來源 MariaDB 資料庫還原至目標 MySQL 資料庫執行個體,例如 Amazon RDS for MySQL 或 Aurora MySQL 相容。
-
您可以在 S3 儲存貯體中存放的資料總磁碟區和物件數量不受限制,但檔案大小上限為 5 TB。如果您的備份檔案超過 5 TB,您可以將其分割為多個較小的檔案。
-
當
innodb_file_per_table
設定關閉時,Percona XtraBackup 不支援使用--tables
、--tables-exclude
、、--tables-file
--databases
、--databases-exclude
或 的部分備份--databases-file
。如需 Percona XtraBackup 2.4 版的詳細資訊,請參閱部分備份。如需 Percona XtraBackup 8.0 版的詳細資訊,請參閱建立部分備份 。
最佳實務
-
若要改善備份程序的效能,請執行下列動作:
-
使用 --parallel=<threads>
並行複製多個檔案 -
使用 --compress-threads=<threads>
平行壓縮多個檔案 -
使用 --use-memory=<size>
來增加記憶體 -
使用 --encrypt-threads=<threads>
平行加密多個檔案
-
-
確保來源伺服器上有足夠的空間來取得資料庫備份檔案。
-
使用 Percona xbstream (.xbstream) 格式檔案產生資料庫備份。如需詳細資訊,請參閱 Percona XtraBackup 文件中的 xbstream 二進位概觀
。