Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫) - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)

因為 Amazon Aurora MySQL 與 MySQL 相容,您可以設定 MySQL 資料庫與 Amazon Aurora MySQL 資料庫叢集之間的複寫。這種類型的複寫使用 MySQL 二進位記錄複寫,也稱為 binlog 複寫。如果您使用二進位複寫搭配 Aurora,我們建議您的 MySQL 資料庫執行 5.5 版或更新版本。您可以設定複寫,其中您的 Aurora MySQL 資料庫叢集是複寫來源或複本。您可以使用 Amazon RDS MySQL 資料庫執行個體、Amazon RDS 外部 MySQL 資料庫或其他 Aurora MySQL 資料庫叢集進行複寫。

注意

您無法對特定類型的 Aurora 資料庫叢集使用 Binlog 複寫。特別是 Binlog 複寫不適用於 Aurora Serverless v1 叢集。如果 SHOW MASTER STATUSSHOW SLAVE STATUS (Aurora MySQL 第 2 版) 或 SHOW REPLICA STATUS (Aurora MySQL 第 3 版) 陳述式未傳回任何輸出,請檢查您使用的叢集是否支援 binlog 複寫。

您也可以在另一個 AWS 區域 中使用 RDS for MySQL 資料庫執行個體或 Aurora MySQL 資料庫叢集來進行複寫。跨 AWS 區域 執行複寫時,請確保資料庫叢集和資料庫執行個體可提供公有存取。如果 Aurora MySQL 資料庫叢集位於 VPC 的私有子網路中,請在 AWS 區域 之間使用 VPC 對等互連。如需更多詳細資訊,請參閱 由不同 VPC 中的 EC2 叢集存取 VPC 中的資料庫執行個體

如果您想要在 Aurora MySQL 資料庫叢集與另一個 AWS 區域中 Aurora MySQL 資料庫叢集之間設定複寫,則可以在來源資料庫叢集中不同的 AWS 區域 中建立 Aurora MySQL 資料庫叢集以做為僅供讀取複本。如需更多詳細資訊,請參閱 跨 AWS 區域 複寫 Amazon Aurora MySQL 資料庫叢集

在 Aurora MySQL 第 2 版本和第 3 版,您可以在 Aurora MySQL 與外部資源之間進行複寫,或是使用全域交易識別碼 (GTIDs) 的目標進行複寫。確保資料庫叢集 Aurora MySQL 中GTID 相關的參數,設定為相容外部資料庫的狀態。若要了解如何操作,請參閱 使用 GTID 式複寫。在 Aurora MySQL 3.01 版及更新版本中,您可以選擇如何將 GTID 指派給從不使用 GTID 的來源複寫的交易。如需控制該設定之預存程序的相關資訊,請參閱 mysql.rds_assign_gtids_to_anonymous_transactions (Aurora MySQL 第 3 版)

警告

在 Aurora MySQL 與 MySQL 之間進行複寫時,請確定您僅使用 InnoDB 資料表。如果有您想要複寫的 MyISAM 資料表,您可以在使用下列命令設定複寫之前,將它們轉換為 InnoDB。

alter table <schema>.<table_name> engine=innodb, algorithm=copy;

在下列各節中,設定複寫、停止複寫、擴展資料庫的讀取、最佳化 binlog 複寫,以及設定增強型 binlog。