为 CDC 配置 Amazon RDS MySQL 数据库

您可以使用 Datastream 将 Amazon RDS for MySQL 数据库中的变更数据捕获 (CDC) 更新流式传输到 受支持的目标,例如 BigQuery 或 Cloud Storage。如需准备源实例,您可以配置参数组和可选读取副本,设置二进制日志保留期限,并创建 Datastream 用户。

创建参数组

  1. 启动 Amazon RDS 信息中心。

  2. 在抽屉式导航栏 中,点击参数组 。

  3. 点击创建参数组 。此时会显示创建参数组 页面。

  4. 选择与您的数据库匹配的数据库系列,为参数组提供名称和说明。

  5. 点击创建 。

  6. 选中新建参数组左侧的复选框。

  7. 在参数组操作 下,点击修改 。

  8. 使用下表为您的组设置参数。

    • 对于基于 binlog 的复制:

      参数值
      binlog_formatROW
      log_bin_use_v1_row_events1
      read_only0
      net_read_timeout3600
      net_write_timeout3600
      wait_timeout86400
    • 对于基于 GTID 的复制:

      参数值
      binlog_formatROW
      log_bin_use_v1_row_events1
      read_only0
      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. 选择要配置的实例,然后点击修改 。

  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 源 配合使用。