總覽
選擇將資料庫遷移至 Cloud SQL 之前,請務必考量這個遷移情境的已知限制。
使用 MySQL 資料庫做為來源時,您必須遵守下列已知限制:
不支援使用 Percona XtraBackup 實體備份檔案遷移至 MySQL 5.6 或 MySQL 8.4。
跨主要 MySQL 版本遷移時 (例如從 MySQL 8.0 遷移至 MySQL 8.4),您需要解決可能的不相容問題,確保遷移作業順利進行,不會發生資料一致性問題。
準備進行跨版本遷移時,請查看 MySQL 適用的 Cloud SQL 支援功能,以及目標主要版本的版本資訊,判斷需要解決哪些不相容問題。
在完整資料傾印階段,請勿執行任何資料定義語言 (DDL) 變更,例如修改資料表定義。如果遷移工作進入 CDC 階段前執行 DDL 變更,遷移工作可能會失敗。詳情請參閱「診斷問題:
Table definition has changed錯誤」。如果來源是 Amazon RDS MySQL、Amazon Aurora MySQL,或是不授予 SUPERUSER 權限的來源,則必須採取額外步驟才能順利遷移,包括來源短暫停止寫入工作。詳情請參閱 Amazon RDS 專屬和 Amazon Aurora 專屬章節。
資料庫移轉服務無法從 MySQL 資料庫叢集的 Amazon Aurora 唯讀備用執行個體遷移資料,因為系統無法從該執行個體擷取二進位記錄檔。詳情請參閱 Amazon Aurora 專屬章節。
MySQL 系統資料庫不會隨伺服器遷移,因此使用者角色資訊不會一併遷移。
使用資料庫移轉服務遷移資料時,無法選取特定資料庫物件 (例如資料庫、表格或結構)。系統會遷移所有資料庫和結構定義中的所有資料表,但下列系統結構定義除外:
mysql、performance_schema、information_schema和sys。開始遷移前,請確認來源資料庫不含參照這些結構定義中資料表的物件。否則遷移作業可能會失敗,並顯示ERROR 1109 (42S02): Unknown table in <schema name here>訊息。請參閱「設定來源資料庫」和「診斷問題」。如果加密資料庫需要客戶自行管理的加密金鑰才能解密資料庫中的資訊,且資料庫移轉服務無法存取金鑰,則無法移轉資料庫。
資料庫遷移服務支援從加密的 Amazon Aurora 或 Amazon RDS 資料庫遷移資料,因為這些資料庫會在服務中以透明方式處理解密作業。詳情請參閱「Encrypting Amazon Aurora resources」和「Encrypting Amazon RDS resources」。
遷移期間,目的地 Cloud SQL 資料庫會處於唯讀模式,避免修改資料庫,否則可能會導致遷移程序中斷或影響資料完整性。目的地升級後,即可寫入資料。
目前資料庫遷移服務與 MariaDB 不相容。
您必須將二進位記錄格式設為
ROW。如果將二進位記錄檔設為其他格式 (例如STATEMENT或MIXED),可能會導致複製作業失敗。例如,使用LOAD DATA IN FILE陳述式。如果您使用自己的傾印檔案建立持續遷移作業,請勿使用 MySQL 5.7.36 版的
mysqldump公用程式。詳情請參閱 MySQL 說明文件中的錯誤 #105761。InnoDB 是 Cloud SQL 唯一支援的儲存引擎。使用 MyISAM 遷移資料可能會導致資料不一致,因此需要驗證資料。如需將資料表從 MyISAM 轉換成 InnoDB 的說明,請參閱 MySQL 說明文件。
Private Service Connect 介面連線方法 僅支援遷移至現有目的地執行個體。 如要使用私人 IP 連線並遷移至新的目的地執行個體,請使用虛擬私有雲對等互連。
資料轉儲平行處理注意事項
資料轉儲平行處理級別可讓您使用高效能轉儲機制,從 MySQL 資料庫遷移資料,大幅提升遷移速度。使用資料傾印平行處理時,請注意下列事項:
資料轉儲平行處理級別目前僅適用於遷移至 MySQL 5.7 或 8 版。
在資料傾印作業開始時,資料庫遷移服務會短暫鎖定來源資料庫,導致暫時無法寫入資料。鎖定時間長度取決於來源資料庫中的資料表數量:
資料表數量 預估鎖定時間 100 1 秒 10K 9 秒 5 萬 49 秒
遷移至現有目的地執行個體的限制
- 現有的目的地執行個體必須為空白,或僅包含系統設定資料。不支援遷移至含有使用者資料 (例如資料表) 的現有目的地執行個體。
如果現有目的地執行個體中的額外資料導致問題,請清除目的地執行個體中的資料庫,然後重新嘗試遷移工作。請參閱「清除現有目的地執行個體中的額外資料」。
- 每個目的地執行個體只能設定一項遷移工作。
- 您只能遷移至獨立的 Cloud SQL 執行個體。系統不支援遷移至外部伺服器副本。
- 不支援將資料遷移至已啟用 Private Service Connect 的 Cloud SQL 執行個體。
- 如要遷移至具有唯讀備用資源的 Cloud SQL 執行個體,來源執行個體必須啟用全域交易 ID (GTID) 記錄功能。
- Terraform 使用者:資料庫移轉服務會修改目的地執行個體的備份和復原設定。這可能會導致目的地執行個體設定與您用於佈建的 Terraform 設定不同。如果遇到這個問題,請按照「診斷問題」中的指引操作。
配額
- 無論何時均可存在多達 2,000 個連線設定檔和 1,000 個遷移工作。如要建立更多空間,可以刪除遷移工作 (包含已完成的工作) 和連線設定檔。