我想使用 Amazon Simple Storage Service (Amazon S3) 將資料從我的自我管理 MySQL 資料庫移轉到 Amazon Aurora MySQL 相容版資料庫叢集。
解決方法
安裝 Percona Xtrabackup
若要直接複製 MySQL 資料目錄及檔案,請使用 Percona XtraBackup 工具。對於大型資料庫,最佳實務是使用此工具來縮短還原時間。有關該工具的更多資訊,請參閱 Percona XtraBackup 網站上的Percona XtraBackup - 文件。
**注意:**您不能使用從 S3 還原選項來還原匯出到 Amazon S3 的快照。
有關如何移轉 MySQL 5.7 的說明,請參閱 Percona XtraBackup 網站上的安裝 Percona XtraBackup 2.4。有關如何遷移 MySQL 8.0 的說明,請參閱 Percona XtraBackup 網站上的安裝 Percona XtraBackup 8.0 概觀。確保 Percona XtraBackup 版本與來源資料庫的引擎版本相容。
備份您的資料
請完成下列步驟:
- 連接到 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體或執行 MySQL 資料庫的內部部署伺服器。
- 若要備份資料庫,請執行以下命令:
xtrabackup --backup --user=myuser --password --stream=xbstream \--target-dir=/on-premises/s3-restore/backup | split -d --bytes=500MB \- /on-premises/s3-restore/backup/backup.xbstream
**注意:**將 myuser 替換為您的來源資料庫使用者名稱,並將 /on-premises/s3-restore/backup 替換為您要建立輸出檔案的目錄。此命令會建立 MySQL 資料庫備份,並將其分割成多個 xbstream 檔案。
Aurora 不會從您的來源還原所有內容。您必須手動重新建立以下資源:
- 使用者 AWS 帳戶
- 功能
- 已儲存的程序
- 時區資訊
有關 Percona XtraBackup 的更多資訊,請參閱備份考量。
將您的備份上傳到 S3 儲存貯體
請完成下列步驟:
- 建立 S3 儲存貯體。
**注意:**您的儲存貯體必須的 EC2 執行個體和 Aurora DB 叢集位於相同 AWS 區域。
- 選取您的新儲存貯體,然後選擇 Create folder (建立資料夾)。
- 選取新資料夾,然後選擇 Upload (上傳)。
- 上傳 Percona XtraBackup 工具所建立的檔案。
- (選用) 根據您的使用案例設定其他屬性,例如權限或屬性。
- 選擇 Upload (上傳)。
**注意:**當您將檔案上傳到 S3 儲存貯體時,您可以使用伺服器端加密來加密資料。
將資料庫從 Amazon S3 匯入到 Aurora
請完成下列步驟:
- 登入 AWS 管理主控台,然後開啟 Aurora and RDS 主控台。
- 在導覽窗格中,選擇 Dashboard(儀表板)。
- 在 Create a database (建立資料庫) 下,選擇 Restore from S3 (從 S3 還原)。
- 在 S3 Source (S3 來源) 中,從 S3 儲存貯體下拉式清單,選取您建立的 S3 儲存貯體。
- (選用) 在 S3 prefix (S3 首碼),輸入儲存在 Amazon S3 儲存貯體中的檔案路徑首碼。
**重要:**輸入儲存貯體名稱時,請勿使用開頭或結尾斜線 (/)。
- 在 Engine version (引擎版本) 中,輸入您的來源 Aurora MySQL 引擎版本。您也可以輸入更新的引擎版本。
- 在 IAM role (IAM 角色),您可以選擇現有 IAM 角色。
- (選用) 您也可以透過選擇 Create a new role (建立新角色) 來建立新的 IAM 角色。
- 選擇您的 Cluster storage configuration (叢集儲存組態)。
- 選擇您的 Instance configuration (執行個體組態)。
- 設定您的 Settings (設定)。
- 在 Availability & durability (可用性與耐用性) 中,選擇是否建立多可用區域部署。
- 在 ** Connectivity** (連線性) 中,檢閱您的連線設定。
- 選擇 Create database (建立資料庫)。
- 叢集處於可用狀態後,確認您的 Aurora MySQL 資料庫叢集出現在 Databases (資料庫) 下。
相關資訊
使用 Percona XtraBackup 和 Amazon S3 從 MySQL 進行實體移轉
Percona XtraBackup
Percona XtraBackup 網站上的備份週期 - 完整備份