跳转到主要内容
本分步指南介绍如何配置 Amazon Aurora MySQL,以便通过 MySQL ClickPipe 将数据复制到 ClickHouse Cloud。有关 MySQL CDC 的常见问题,请参阅 MySQL 常见问题页面

启用二进制日志保留

二进制日志是一组日志文件,记录了对 MySQL 服务器实例所做的数据修改,而复制需要这些二进制日志文件。要在 Aurora MySQL 中配置二进制日志保留,您必须先启用二进制日志记录,并增加 binlog 保留时间间隔

1. 通过自动备份启用二进制日志记录

自动备份功能决定 MySQL 是否启用二进制日志。你可以在 RDS 控制台中依次进入 Modify > Additional configuration > Backup,然后选中 Enable automated backups 复选框 (如果尚未选中) ,为实例配置自动备份。 建议根据复制使用场景,将 Backup retention period 设置为相对较长的值。

2. 增加 binlog 保留时间间隔

如果 ClickPipes 尝试恢复复制,但由于配置的 binlog 保留值,所需的 binlog 文件已被清除,则 ClickPipe 会进入错误状态,并且需要重新同步。
默认情况下,Aurora MySQL 会尽快清除 binlog (即 延迟清除) 。我们建议将 binlog 保留时间增加到至少 72 小时,以确保在故障情况下,复制所需的 binlog 文件仍然可用。要设置 binlog 保留时间 (binlog retention hours) ,请使用 mysql.rds_set_configuration 过程:
mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);
如果未设置此配置,或将其间隔设置得过短,可能会导致二进制日志出现间断,从而影响 ClickPipes 恢复复制的能力。

配置 binlog 设置

在 RDS 控制台中点击你的 MySQL 实例,然后进入 Configuration 选项卡,即可找到参数组。
如果你使用的是 MySQL 集群,则下面的参数可在 DB 集群参数组中找到,而不是 DB 实例参数组。

点击参数组链接,进入其详情页。你应该会在右上角看到一个 Edit 按钮。
以下参数需要按如下方式设置:
  1. binlog_format 设为 ROW
  1. binlog_row_metadata 设为 FULL
  1. binlog_row_image 设为 FULL

然后,点击右上角的 Save Changes。你可能需要重启实例,更改才能生效——判断方法是:如果你在 Aurora 实例的 Configuration 选项卡中看到参数组链接旁显示 Pending reboot,就说明需要重启。

启用 GTID 模式 (推荐)

MySQL ClickPipe 也支持在未启用 GTID 模式的情况下进行复制。不过,仍建议启用 GTID 模式,以获得更好的性能并简化故障排查。
全局事务标识符 (GTID) 是 MySQL 为每个已提交事务分配的唯一 ID。它们可简化 binlog 复制,并使故障排查更加直接。我们建议启用 GTID 模式,以便 MySQL ClickPipe 使用基于 GTID 的复制。 Amazon Aurora MySQL v2 (MySQL 5.7) 和 v3 (MySQL 8.0) 以及 Aurora Serverless v2 均支持基于 GTID 的复制。要为 Aurora MySQL 实例启用 GTID 模式,请按以下步骤操作:
  1. 在 RDS 控制台中,点击你的 MySQL 实例。
  2. 点击 Configuration 选项卡。
  3. 点击参数组链接。
  4. 点击右上角的 Edit 按钮。
  5. enforce_gtid_consistency 设置为 ON
  6. gtid-mode 设置为 ON
  7. 点击右上角的 Save Changes
  8. 重启实例,使更改生效。

配置数据库用户

以管理员用户身份连接到您的 Aurora MySQL 实例,并执行以下命令:
  1. 为 ClickPipes 创建一个专用用户:
    CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some-password';
    
  2. 授予 schema 权限。以下示例展示了 mysql 数据库的权限。对于您要复制的每个数据库和主机,都需重复执行这些命令:
    GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
    
  3. 向该用户授予复制权限:
    GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%';
    GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
    

配置网络访问

基于 IP 的访问控制

要限制发往 Aurora MySQL 实例的流量,请将文档中列出的静态 NAT IP 地址添加到 Aurora 安全组 (Security Group) 入站规则中。 如需通过私有网络连接到您的 Aurora MySQL 实例,可使用 AWS PrivateLink。请按照 ClickPipes 的 AWS PrivateLink 设置指南 配置连接。

接下来呢?

现在,您的 Amazon Aurora MySQL 实例已配置为支持 binlog 复制,并已安全连接到 ClickHouse Cloud,您可以创建第一个 MySQL ClickPipe。有关 MySQL CDC 的常见问题,请参阅 MySQL 常见问题页面
最后修改于 2026年6月10日