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

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

重要

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

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

使用資料傳入複寫的時機

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

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

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

限制與考量

未複寫的資料

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

篩選

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

若要深入瞭解此參數,請檢閱 MySQL 檔

僅限一般用途或記憶體優化層支援

只有一般用途和記憶體優化定價層才支援資料傳入複寫。

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

注意

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

需求

  • 來源伺服器版本至少必須是 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)。

下一步