全部產品
Search
文件中心

AnalyticDB:DTS訂閱binlog

更新時間:Jul 19, 2025

本文為您介紹如何使用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表的資料同步與增量遷移。

操作步驟

  1. 登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。

  2. 開啟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;
  3. (可選)修改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;

  4. 使用DTS訂閱Binlog。

    DTS通過訂閱Binlog,可實現AnalyticDB for MySQL叢集之間的資料同步增量遷移

  5. (可選)查看Binlog資訊。

    說明

    使用以下語句查看Binlog日誌資訊時,若僅開啟Binlog功能,日誌資訊顯示為0。只有成功訂閱Binlog後,才會顯示日誌資訊。

    • 若您需要擷取Binlog最新寫入的檔案名稱和位置資訊,請執行以下SQL語句:

      SHOW MASTER STATUS FOR source_table;
    • 若您需要瞭解所有未清理的歷史Binlog檔案及其大小,請執行以下SQL語句:

      SHOW BINARY LOGS FOR source_table;