為 CDC 設定 Amazon RDS MySQL 資料庫

您可以使用 Datastream,將 Amazon RDS for MySQL 資料庫的變更資料擷取 (CDC) 更新串流至支援的目的地,例如 BigQuery 或 Cloud Storage。如要準備來源執行個體,請設定參數群組和選用的唯讀副本、設定二進位記錄保留期限,以及建立 Datastream 使用者。

建立參數群組

  1. 啟動 Amazon RDS 資訊主頁。

  2. 在「導覽匣」中,按一下「參數群組」。

  3. 按一下「Create Parameter Group」(建立參數群組)。「Create Parameter Group」(建立參數群組) 頁面隨即顯示。

  4. 選取與資料庫相符的資料庫系列,並提供參數群組名稱和說明。

  5. 點選「建立」。

  6. 在剛剛建立的參數群組左側勾選核取方塊。

  7. 在「參數群組操作」下方,按一下「編輯」。

  8. 使用下表設定群組參數。

    • 以二進位檔記錄為基礎的複製模式:

      參數值
      binlog_formatROW
      log_bin_use_v1_row_events1
      唯讀0
      net_read_timeout3600
      net_write_timeout3600
      wait_timeout86400
    • 如果是以 GTID 為基礎的複製作業:

      參數值
      binlog_formatROW
      log_bin_use_v1_row_events1
      唯讀0
      net_read_timeout3600
      net_write_timeout3600
      wait_timeout86400
      expire-logs-days7
      binlog_row_imageFULL
      max_allowed_packet1G (建議值)
      log-replica-updates1
      enforce-gtid-consistencyON
      gtid_mode

      ON

      您必須先將 enforce-gtid-consistency 設為 ON,才能將這個參數設為 ON。一般來說,gtid_mode 可以有下列值:
      • OFF
      • OFF_PERMISSIVE
      • ON_PERMISSIVE
      • ON
      您一次只能變更 gtid_mode 參數的值一個步驟。舉例來說,如果目前的模式設為 OFF,請執行下列操作:
      1. 將設定變更為 OFF_PERMISSIVE。
      2. 將設定變更為「ON_PERMISSIVE」。
      3. 將設定變更為「ON」。
      詳情請參閱 MySQL 說明文件。
  9. 按一下 [儲存變更]。

建立唯讀副本

  1. 啟動 Amazon RDS 資訊主頁。

  2. 按一下「導覽匣」中的 [資料庫]。

  3. 選取要與 Datastream 連結的主要資料庫執行個體。

  4. 依序點選「動作」按鈕和「建立唯讀副本」。

  5. 視需求設定唯讀備用資源。

  6. 按一下 [建立唯讀備用資源]。

設定來源資料庫和唯讀副本

如果您選擇直接從主要伺服器複製資料,請按照下列步驟設定來源資料庫。

如果您選擇使用唯讀副本,請按照下列步驟設定來源資料庫和唯讀副本。

  1. 啟動 Amazon RDS 資訊主頁。

  2. 按一下「導覽匣」中的 [資料庫]。

  3. 選取要設定的執行個體,然後按一下「Modify」(修改)。

  4. 前往「其他設定」部分。

  5. 選取您建立的參數群組。

  6. 將「備份保留期限」設為 [7 天]。

  7. 按一下「繼續」。

  8. 選取「安排修改時間」下方的 [立即套用]。

確認已將參數群組指派給資料庫執行個體

  1. 啟動 Amazon RDS 資訊主頁。

  2. 在「導覽匣」中,按一下「資料庫」,然後選取資料庫執行個體。

  3. 按一下 [設定] 分頁標籤。

  4. 確認您看到建立的參數群組,且狀態為「pending-reboot」。

  5. 重新啟動資料庫執行個體即可完成設定。如要重新啟動執行個體,請按照下列步驟操作:

    1. 在導覽匣中,按一下「執行個體」。
    2. 選取您的資料庫執行個體。
    3. 在「執行個體操作」選單中選取 [重新啟動]。

設定二進位記錄檔保留期限

  1. 輸入下列 MySQL 指令:

    call mysql.rds_set_configuration('binlog retention hours', 168);
  2. 重新啟動 MySQL 伺服器,使變更生效。

建立 Datastream 使用者

  1. 建立 Datastream 使用者:

    CREATE USER 'datastream'@'%' IDENTIFIED BY 'YOUR_PASSWORD';
  2. 將下列權限授予他們:

    GRANT REPLICATION SLAVE, SELECT, REPLICATION CLIENT ON *.* TO 'datastream'@'%';
    GRANT EXECUTE ON PROCEDURE mysql.rds_show_configuration TO 'datastream'@'%';
    FLUSH PRIVILEGES;

後續步驟

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