RDS MariaDB 源端设置指南
本指南将逐步介绍如何配置 RDS MariaDB 实例,使其能够通过 MySQL ClickPipe 进行数据复制。
我们也建议你阅读 MySQL 常见问题解答文档,可在这里查看。该常见问题页面会持续更新。
启用二进制日志保留
二进制日志是一组日志文件,其中包含在 MySQL 服务器实例上进行的数据修改的信息。复制功能需要二进制日志文件。必须完成以下两个步骤:
1. 通过自动备份启用二进制日志记录
automated backups 功能决定是否为 MySQL 启用或禁用二进制日志记录。可以在 AWS 控制台中进行配置:

建议根据具体的复制场景,将备份保留期设置为相对较长的值。
2. Binlog 保留时间(小时)
Amazon RDS for MariaDB 采用不同的方式来设置 binlog 的保留时长,即包含变更的 binlog 文件被保留的时间。如果在 binlog 文件被删除之前,某些变更尚未被读取,则复制将无法继续。binlog 保留时间的默认值为 NULL,这意味着不会保留任何二进制日志。
要指定在某个 DB 实例上保留二进制日志的小时数,请使用 mysql.rds_set_configuration 函数,并将 binlog 保留时间设置得足够长,以保证复制可以完成。推荐的最小值为 24 hours。
在参数组中配置 binlog 设置
在 RDS 控制台中点击您的 MariaDB 实例,然后导航到 Configurations 选项卡,可以找到参数组。

点击参数组链接后,您会进入参数组详情页面。您会在右上角看到一个 Edit 按钮:

需要按如下方式设置 binlog_format、binlog_row_metadata 和 binlog_row_image:
- 将
binlog_format设置为ROW。

- 将
binlog_row_metadata设置为FULL

- 将
binlog_row_image设置为FULL

接下来,点击右上角的 Save Changes。您可能需要重启实例以使更改生效。如果在 RDS 实例的 Configurations 选项卡中,您在参数组链接旁看到 Pending reboot,这通常表明需要重启实例。
如果您使用的是 MariaDB 集群,上述参数会在 DB Cluster 参数组中,而不是在 DB 实例参数组中。
启用 GTID 模式
全局事务标识符(GTID)是在 MySQL/MariaDB 中分配给每个已提交事务的唯一 ID。它们简化了二进制日志(binlog)复制,并使故障排查更加简单。MariaDB 默认启用 GTID 模式,因此用户无需进行任何额外操作即可使用它。
配置数据库用户
以管理员身份连接到你的 RDS MariaDB 实例,并执行以下命令:
-
为 ClickPipes 创建一个专用用户:
-
授予 schema 权限。下面的示例展示了为
mysql数据库授予权限。对于你希望复制的每个数据库和主机,重复执行这些命令: -
为该用户授予复制权限:
配置网络访问
基于 IP 的访问控制
如果要限制访问 RDS 实例的流量,请将文档中列出的静态 NAT IP 添加到 RDS 安全组的 Inbound rules(入站规则)中。


通过 AWS PrivateLink 进行私有访问
要通过私有网络连接到 RDS 实例,可以使用 AWS PrivateLink。请按照我们的 适用于 ClickPipes 的 AWS PrivateLink 设置指南 完成连接配置。