本文為您介紹如何使用Data Transmission Service訂閱AnalyticDB for MySQL Binlog,並實現AnalyticDB for MySQL叢集之間的資料同步與增量遷移。
前提條件
AnalyticDB for MySQL產品系列為企業版、基礎版、湖倉版和數倉版彈性模式。
AnalyticDB for MySQL叢集的核心版本需為3.2.1.0及以上版本。
說明請在雲原生資料倉儲AnalyticDB MySQL控制台集群資訊頁面的配寘資訊地區,查看和升級核心版本。
AnalyticDB for MySQL叢集已開啟CDC功能。
說明CDC(Change Data Capture)功能用於捕獲資料變更,支援增量資料同步和遷移。如需開啟CDC功能或不清楚CDC功能是否已開啟,請聯絡支援人員。
使用限制
XUANWU_V2表不支援開啟Binlog,因此不能通過訂閱Binlog實現AnalyticDB for MySQL叢集之間XUANWU_V2表的資料同步與增量遷移。
操作步驟
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。
開啟Binlog功能,本文以表名為source_table為例。
說明AnalyticDB for MySQL僅支援按表開啟Binlog功能。
建表時,開啟Binlog
CREATE TABLE source_table ( `id` INT, `num` BIGINT, PRIMARY KEY (`id`) )DISTRIBUTED BY HASH (id) BINLOG=true;建表後,開啟Binlog
ALTER TABLE source_table BINLOG=true;(可選)修改Binlog保留時間長度。
您可以通過修改
binlog_ttl參數來調整Binlog的保留時間長度,參數預設值為6h。以下樣本表示將表source_table的Binlog保留時間長度設定為1天。ALTER TABLE source_table binlog_ttl='1d';binlog_ttl參數取值支援以下格式:毫秒:純數字。樣本:
60代表60毫秒。秒:數字+s。樣本:
30s代表30秒。小時:數字+h。樣本:
2h代表2小時。天:數字+d。樣本:
1d代表1天。
說明核心版本為3.2.1且為3.2.1.9及以上、3.2.2且為3.2.2.14及以上、3.2.3且為3.2.3.8及以上、3.2.4且為3.2.4.4及以上、3.2.5且為3.2.5.1及以上的叢集,Binlog保留時間長度上限為365天。核心版本低於上述的叢集,Binlog保留時間長度上限為21天。
建議您設定的Binlog保留時間不小於
binlog_ttl參數的預設值。若設定的保留時間過短,可能會導致檔案被清理,影響資料同步。如果您需要查看當前Binlog保留時間長度,執行語句
SHOW CREATE TABLE source_table;。
(可選)查看Binlog資訊。
說明使用以下語句查看Binlog日誌資訊時,若僅開啟Binlog功能,日誌資訊顯示為0。只有成功訂閱Binlog後,才會顯示日誌資訊。
若您需要擷取Binlog最新寫入的檔案名稱和位置資訊,請執行以下SQL語句:
SHOW MASTER STATUS FOR source_table;若您需要瞭解所有未清理的歷史Binlog檔案及其大小,請執行以下SQL語句:
SHOW BINARY LOGS FOR source_table;