Aurora MySQL 源端设置指南
本分步指南说明如何配置 Amazon Aurora MySQL,通过 MySQL ClickPipe 将数据复制到 ClickHouse Cloud。关于 MySQL CDC(变更数据捕获)的常见问题,请参阅 MySQL 常见问题解答页面。
启用二进制日志保留
二进制日志是一组日志文件,用于记录对 MySQL 服务器实例所做的数据修改,这些二进制日志文件是实现复制所必需的。要在 Aurora MySQL 中配置二进制日志保留策略,您必须启用二进制日志记录并增加二进制日志保留时间间隔。
1. 通过自动备份启用二进制日志记录
自动备份功能决定 MySQL 的二进制日志是否开启。可以在 RDS 控制台中为实例配置自动备份,路径为 Modify > Additional configuration > Backup,然后勾选 Enable automated backups 复选框(如果尚未勾选)。

我们建议根据具体的复制场景,将 Backup retention period 设置为相对较长的值。
2. 增加 binlog 保留时间间隔
如果 ClickPipes 尝试恢复复制时,所需的 binlog 文件已经因为配置的 binlog 保留时间被清理,ClickPipe 将进入出错状态,并且需要执行重新同步。
默认情况下,Aurora MySQL 会尽快清理二进制日志(即 lazy purging)。我们建议将 binlog 保留时间间隔增加到至少 72 小时,以确保在故障场景下用于复制的二进制日志文件仍然可用。要为二进制日志保留设置时间间隔(binlog retention hours),请使用 mysql.rds_set_configuration 存储过程:
如果未设置此配置项,或将其设置为过短的间隔,可能会导致二进制日志中出现空缺,从而削弱 ClickPipes 恢复复制的能力。
配置 binlog 设置
在 RDS 控制台中单击 MySQL 实例,然后进入 Configuration 选项卡即可找到参数组。
如果使用的是 MySQL 集群,则需要在 DB cluster 参数组中设置以下参数,而不是在 DB instance 参数组中。

单击参数组链接,进入该参数组的详情页。你应该能在右上角看到一个 Edit 按钮。

按如下方式设置以下参数:
- 将
binlog_format设置为ROW。

- 将
binlog_row_metadata设置为FULL。

- 将
binlog_row_image设置为FULL。

然后,单击右上角的 Save Changes。你可能需要重启实例以使这些更改生效——判断是否需要重启的一种方式是查看 Aurora 实例的 Configuration 选项卡,如果在参数组链接旁边看到 Pending reboot,则说明需要重启。
启用 GTID 模式(推荐)
MySQL ClickPipe 也支持在未启用 GTID 模式的情况下进行复制。不过,出于更好的性能和更易排障的考虑,建议启用 GTID 模式。
Global Transaction Identifiers (GTIDs) 是分配给 MySQL 中每个已提交事务的唯一 ID。它们可以简化 binlog 复制,并让故障排查更加直接。我们建议启用 GTID 模式,以便 MySQL ClickPipe 可以使用基于 GTID 的复制。
基于 GTID 的复制支持 Amazon Aurora MySQL v2(MySQL 5.7)和 v3(MySQL 8.0),以及 Aurora Serverless v2。要为您的 Aurora MySQL 实例启用 GTID 模式,请按照以下步骤操作:
- 在 RDS 控制台中,点击您的 MySQL 实例。
- 点击 Configuration 选项卡。
- 点击参数组链接。
- 点击右上角的 Edit 按钮。
- 将
enforce_gtid_consistency设置为ON。 - 将
gtid-mode设置为ON。 - 点击右上角的 Save Changes。
- 重启实例以使更改生效。

配置数据库用户
以管理员用户身份连接到 Aurora MySQL 实例,并执行以下命令:
-
为 ClickPipes 创建一个专用 USER:
-
授予 schema 权限。以下示例展示了为
mysql数据库授予权限的方式。对于每个需要复制的数据库和主机,重复执行这些命令: -
为该 USER 授予复制权限:
配置网络访问
基于 IP 的访问控制
要限制访问 Aurora MySQL 实例的流量,请将文档中列出的静态 NAT IP 添加到 Aurora 安全组的 Inbound rules 中。


通过 AWS PrivateLink 进行私有访问
要通过专用网络连接到您的 Aurora MySQL 实例,可以使用 AWS PrivateLink。请按照适用于 ClickPipes 的 AWS PrivateLink 配置指南来建立该连接。
下一步
现在,你的 Amazon Aurora MySQL 实例已经完成 binlog 复制配置并且可以安全地连接到 ClickHouse Cloud,你可以创建你的第一个 MySQL ClickPipe。有关 MySQL CDC 的常见问题,请参阅 MySQL 常见问题页面。