為 CDC 設定自行管理的 MySQL 資料庫

Datastream 可讓您將變更資料擷取 (CDC) 更新,從自行管理的 MySQL 資料庫串流至支援的目的地,例如 BigQuery 或 Cloud Storage。如要準備來源,請設定以資料列為基礎的完整二進位記錄,並設定 7 天的保留期限,然後建立具備複製權限的 Datastream 使用者。您也可以將這項設定用於相容的資料庫,例如 MariaDB、Percona Server for MySQL 和 Alibaba Cloud PolarDB。

驗證二進位記錄檔的設定和保留期限

  1. 輸入下列 MySQL 指令,確認二進位記錄設定正確無誤:

    SHOW GLOBAL VARIABLES LIKE '%binlog_format%';
    
  2. 確認 binlog_format 變數的值設為 ROW。Datastream 不支援 MIXED 或 STATEMENT 二進位記錄格式。

  3. 輸入下列 MySQL 指令,確認二進位記錄的資料列格式已設為 FULL:

    SHOW GLOBAL VARIABLES LIKE 'binlog_row_image';
    
  4. 如果是 MySQL 8.0 以上版本,請輸入下列 MySQL 指令,確認 binlog_row_value_options 變數設為空白值:

    SHOW GLOBAL VARIABLES LIKE 'binlog_row_value_options';
    
  5. 輸入下列 MySQL 指令,確認二進位記錄的副本更新選項已設為 ON:

    SHOW GLOBAL VARIABLES LIKE 'log_replica_updates';
    

    如果是 8.0.26 之前的 MySQL 版本,請改為輸入下列指令:

    SHOW GLOBAL VARIABLES LIKE 'log_slave_updates';
    
  6. 輸入下列 MySQL 指令,確認二進位記錄的保留期限已設為 604800 秒 (7 天):

    SHOW GLOBAL VARIABLES LIKE 'binlog_expire_logs_seconds';
    

    如果是 8.0.3 之前的 MySQL 版本,請改為輸入下列指令:

    SHOW GLOBAL VARIABLES LIKE 'expire_logs_days';
    

建立 Datastream 使用者

  1. 如要建立 Datastream 使用者,請輸入下列 MySQL 指令:

    CREATE USER 'datastream'@'%' IDENTIFIED BY 'YOUR_PASSWORD';
    GRANT REPLICATION SLAVE, SELECT, REPLICATION CLIENT ON *.* TO 'datastream'@'%';
    FLUSH PRIVILEGES;

後續步驟

  • 進一步瞭解 Datastream 如何與 MySQL 來源搭配運作。