共用方式為


將 MySQL 內部部署移轉至適用於 MySQL 的 Azure 資料庫:移轉方法

探索將 MySQL 資料庫從內部部署環境遷移至 適用於 MySQL 的 Azure 資料庫 的各種方法,對於選取最適合您需求的方法至關重要。 本文會深入探討可用的不同移轉方法,提供每項技術優點和潛在挑戰的詳細分析。 藉由了解離線移轉、在線移轉和混合式方法的細微差別,您可以做出符合組織目標和技術需求的明智決策。 無論您的目標是最短的停機時間、成本效益或無縫轉換,本指南都可讓您了解選擇最佳移轉方法並有效地執行。

必要條件

將 MySQL 內部部署移轉至 適用於 MySQL 的 Azure 資料庫:規劃

概觀

將資料從來源移至目標需要使用 MySQL 的工具或功能來完成移轉。

開始下一個階段之前,請務必完成整個評量和規劃階段。 收集的決策和資料是移轉路徑和工具選取相依項目。

我們會在本節中探索下列常用的工具:

  • MySQL Workbench

  • mysqldump

  • mydumper 和 myloader

  • 資料輸入複寫 (binlog)

MySQL Workbench

MySQL Workbench 提供豐富的 GUI 體驗,可讓開發人員和系統管理員設計、開發及管理其 MySQL 執行個體。

將資料庫從來源移至目標時,最新版本的 MySQL Workbench 會提供精密的物件移轉功能

資料匯入及匯出

MySQL Workbench 提供精靈型 UI,以執行資料表和資料庫物件的完整或部分匯出和匯入。 如需如何使用 MySQL Workbench 的範例,請參閱使用匯入和匯出來移轉 MySQL 資料庫

傾印和還原 (mysqldump)

mysqldump 通常會在 MySQL 安裝期間提供。 這是用戶端公用程式,可執行來建立邏輯備份,其等同於一組可重新執行以重建資料庫到某個時間點的 SQL 陳述式。 mysqldump 不是用來備份或移轉大量數據的快速或可調整解決方案。 執行大量 SQL 插入陳述式可能會因為更新索引所需的磁碟 I/O 而效能不佳。 不過,與需要原始結構描述的其他工具結合時,mysqldump 是產生資料庫和資料表結構描述的絕佳工具。 結構描述可以建立目標登陸區域環境。

mysqldump 公用程式會在資料移轉階段提供有用的功能。 執行公用程式之前,必須先評估效能考量。 請參閱效能考量

mydumper 和 myloader

需要快速移轉之大型資料庫的環境應該使用 mydumper 和 myloader。這些工具是以 C++ 撰寫的,並利用多執行緒技術將資料盡快傳送到目標 MySQL 執行個體。 mydumpermyloader 利用平行處理原則,可以加快移轉 10 倍以上。

適用於公開下載的工具二進位版本已針對Linux進行編譯。 若要在 Windows上執行這些工具,必須重新編譯開放原始碼專案。 編譯原始程式碼和建立版本對大多數用戶來說並不簡單。

資料輸入複寫 (binlog)

與其他資料庫管理系統類似,MySQL 提供了一個稱為 binlog 複寫的記錄複寫功能。binlog 複寫功能有助於資料移轉和讀取複本的建立。

利用 binlog 複寫,在線上案例將資料移轉至適用於 MySQL 的 Azure 資料庫。 資料複寫有助於減少進行最終目標資料變更所需的停機時間。

若要使用 binlog 複寫功能,有一些設定需求:

  • 然後,建議主要伺服器使用 MySQL InnoDB 引擎。 如果您使用 InnoDB 以外的儲存引擎,則必須將這些資料表移轉至 InnoDB。

  • 移轉使用者必須有權設定二進位記錄,以及在主要伺服器上建立新的使用者。

  • 如果主要伺服器已啟用 SSL,請確定為網域提供的 SSL CA 憑證已包含在 mysql.az_replication_change_master 預存程序中。 請參閱下列範例和 master_ssl_ca 參數。

  • 請確定主伺服器 IP 位址已新增至 適用於 MySQL 的 Azure 資料庫 複本伺服器的防火牆規則。 使用 Azure 入口網站或 Azure CLI 更新防火牆規則。

  • 確定裝載主要伺服器的機器允許連接埠 3306 上的輸入和輸出流量。

  • 請確定主要伺服器具有從來源到目標的可存取 IP 位址 (公用或私人)。

若要使用複寫執行移轉,請檢閱如何設定適用於 MySQL 的 Azure 資料庫資料輸入複寫以取得詳細資料。

binlog 複寫方法具有高 CPU 和額外的儲存體需求。 移轉使用者應該在線上移轉期間測試來源系統上的負載,並判斷是否可接受。

Azure 資料庫移轉服務 (DMS)

Azure 資料庫移轉服務 (DMS) 是 Azure 雲端式工具,可讓系統管理員追蹤各種移轉設定,並視需要重複使用。 DMS 的運作方式是使用指向各種來源和目的地的設定來建立移轉專案。 支援離線移轉。 此外,支援內部部署資料工作負載和雲端式工作負載,例如 Amazon 關聯式資料庫服務 (RDS) MySQL。

雖然 DMS 服務是線上工具,但是確實依賴 MySQL 的 binlog 複寫功能來完成其工作。 目前,DMS 會部分自動化離線移轉程序。 DMS 需要在目標適用於 MySQL 的 Azure 資料庫執行個體中產生和套用相符的結構描述。 您可以使用 mysqldump 用戶端公用程式匯出結構描述。

最快/最短停機時間移轉

移轉資料有許多路徑。 決定要採取的路徑是移轉小組技能集的功能,以及資料庫和應用程式擁有者願意接受的停機時間量。 有些工具支援多執行緒平行資料移轉方法,而其他工具則只針對資料表資料的簡單移轉而設計。

最快速且最完整的路徑是使用 binlog 複寫 (直接與 MySQL 搭配使用或透過 DMS),但是會伴隨新增主索引鍵的成本。

決策資料表

WWI 有許多路徑可以移轉其 MySQL 工作負載。 我們已提供潛在路徑的資料表,以及每個路徑的優點和缺點:

目標 描述 工具 必要條件 優點 缺點
可能的最快移轉 平行方法 mydumper 和 myloader Linux 高度平行處理 目標節流
線上移轉 盡可能讓來源保持執行 binlog 流暢 額外處理及儲存
離線移轉 盡可能讓來源保持執行 資料庫移轉服務 (DMS) 可重複的程序 僅限資料,支援所有 MySQL 版本
高度自訂的離線移轉 選擇性地匯出物件 mysqldump 自訂彈性極高 手動
離線移轉半自動化 以 UI 為基礎的匯出和匯入 MySQL Workbench 下載並安裝 半自動 僅支援一組常見的交換器

WWI 案例

WWI 已將其會議資料庫選取為第一個移轉工作負載。 已選擇工作負載,因為年度會議排程的差距而有最低風險和最可用的停機時間。 此外,根據移轉小組的評估,他們判斷他們嘗試使用 MySQL Workbench 執行離機移轉。

移轉方法檢查清單

  • 請確定已針對目標與來源環境選取正確的方法。

  • 請確定方法可以符合商務需求。

  • 請一律確認資料工作負載是否支援方法。

後續步驟