將資料複寫至適用於 MySQL 的 Azure 資料庫

適用於: 適用於 MySQL 的 Azure 資料庫 - 單一伺服器

重要

適用於 MySQL 的 Azure 資料庫單一伺服器位於淘汰路徑上。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫 - 單一伺服器會發生什麼事?

資料輸入複寫可讓您將來自外部 MySQL 伺服器的資料,同步處理到適用於 MySQL 的 Azure 資料庫服務。 外部伺服器可以位於內部部署環境、虛擬機器中或其他雲端提供者所裝載的資料庫服務內。 資料輸入複寫是建立在以二進位記錄 (binlog) 檔案位置為基礎,或以 GTID 為基礎的 MySQL 原生複寫之上。 若要深入了解 binlog 複寫,請參閱 MySQL binlog 複寫概觀 \(英文\)。

使用資料帶入複寫的時機

適合考慮使用資料輸入複寫的主要案例包括:

  • 混合式資料同步:您可使用資料帶入複寫,讓內部部署伺服器與適用於 MySQL 的 Azure 資料庫之間的資料保持同步。 此同步適用於建立混合式應用程式。 當您目前擁有本機資料庫伺服器,但想要將資料移到更接近使用者的區域時,這個方法很吸引人。
  • 多重雲端同步處理:針對複雜的雲端解決方案,使用資料帶入複寫來同步處理適用於 MySQL 的 Azure 資料庫與不同雲端提供者 (包括這些雲端中所裝載的虛擬機器和資料庫服務) 之間的資料。

對於移轉案例,請使用 Azure 資料移轉服務 (DMS)。

限制與考量

不會複寫資料

不會複寫來源伺服器上的 mysql 系統資料庫。 此外,也不會複寫來源伺服器上對於帳戶和權限的變更。 如果您在來源伺服器上建立帳戶,且此帳戶需要存取複本伺服器,請在複本伺服器上手動建立相同的帳戶。 若要了解系統資料庫中包含哪些資料表,請參閱 MySQL 手冊 \(英文\)。

篩選

若要略過從來源伺服器 (裝載於內部部署、虛擬機器中,或其他雲端提供者所裝載的資料庫服務) 複寫資料表的作業,需支援 replicate_wild_ignore_table 參數。 您可以選擇性地使用 Azure 入口網站Azure CLI,在裝載於 Azure 中的複本伺服器上更新此參數。

若要深入了解此參數,請檢閱 MySQL 文件

僅支援一般用途或記憶體最佳化層級

資料輸入複寫只適用於一般用途和記憶體最佳化定價層。

「適用於 MySQL 的 Azure 資料庫」的私人連結僅支援輸入連線。 由於資料輸入複寫需要來自服務私人連結的輸出連線,因此不支援資料輸入流量。

注意

5.7 和 8.0 版僅支援最多 16 TB (一般用途儲存體 v2) 的伺服器上才支援 GTID。

需求

  • 來源伺服器版本必須至少是 MySQL 5.6 版。
  • 來源和複本伺服器的版本必須相同。 例如,兩者都必須是 MySQL 5.6 版,或兩者都必須是 MySQL 5.7 版。
  • 每個資料表都必須有主索引鍵。
  • 來源伺服器應使用 MySQL InnoDB 引擎。
  • 使用者必須有權設定二進位記錄,以及在來源伺服器上建立新的使用者。
  • 如果來源伺服器已啟用 SSL,請確定為網域提供的 SSL CA 憑證已包含在 mysql.az_replication_change_mastermysql.az_replication_change_master_with_gtid 預存程序中。 請參閱下列範例master_ssl_ca 參數。
  • 請確定來源伺服器的 IP 位址已新增至「適用於 MySQL 的 Azure 資料庫」複本伺服器的防火牆規則。 使用 Azure 入口網站Azure CLI 更新防火牆規則。
  • 請確定裝載來源伺服器的機器允許連接埠 3306 上的輸入和輸出流量。
  • 請確定來源伺服器具有公用 IP 位址、DNS 可供公開存取,或來源伺服器具有完整網域名稱 (FQDN)。

下一步