Aurora MySQL 源端设置指南
本分步指南演示如何配置 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 会尽快清除二进制日志(即 lazy purging)。我们建议将 binlog 保留时间间隔增加到至少 72 小时,以便在故障场景下确保用于复制的二进制日志文件仍然可用。要为二进制日志保留设置时间间隔(binlog retention hours),请使用 mysql.rds_set_configuration 存储过程:
如果未设置该配置,或将其设置为过短的间隔,可能会导致二进制日志中出现间隙,从而削弱 ClickPipes 恢复复制的能力。
配置 binlog 设置
在 RDS 控制台中单击 MySQL 实例,然后转到 Configuration 选项卡,即可找到参数组(parameter group)。
如果您使用的是 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 模式。
全局事务标识符(GTID,Global Transaction Identifiers) 是分配给 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 创建一个专用用户:
-
授予 schema 权限。以下示例展示了为
mysql数据库授予权限。对于每个你希望复制的数据库和主机,重复执行这些命令: -
为该用户授予复制权限:
配置网络访问
基于 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 常见问题解答页面。