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

启用二进制日志保留

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

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

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

2. 增加 binlog 保留时间间隔

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

配置 binlog 设置

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

点击参数组链接,进入其详情页面。你应当会在右上角看到 Edit 按钮。 将以下参数设置为:
  1. binlog_format 设为 ROW
  1. binlog_row_metadata 设为 FULL
  1. binlog_row_image 设为 FULL

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

启用 GTID 模式

MySQL ClickPipe 也支持在不启用 GTID 模式的情况下进行复制。不过,建议启用 GTID 模式,以获得更好的性能并简化故障排查。
全局事务标识符 (GTID) 是 MySQL 中为每个已提交事务分配的唯一 ID。它们可简化 binlog 复制,并让故障排查更加容易。我们建议启用 GTID 模式,以便 MySQL ClickPipe 使用基于 GTID 的复制。 Amazon RDS for MySQL 5.7、8.0 和 8.4 版本支持基于 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. 重启您的实例,使更改生效。

MySQL ClickPipe 也支持在不启用 GTID 模式的情况下进行复制。不过,建议启用 GTID 模式,以获得更好的性能并简化故障排查。

配置数据库用户

以管理员身份连接到你的 RDS MySQL 实例,并执行以下命令:
  1. 为 ClickPipes 创建一个专用用户:
    CREATE USER 'clickpipes_user'@'host' 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 地址添加到 RDS 安全组 (Security Group) 的 Inbound rules 中。 若要通过私有网络连接到您的 RDS 实例,可以使用 AWS PrivateLink。请按照 ClickPipes 的 AWS PrivateLink 设置指南 配置连接。

后续步骤

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