RDS MariaDB 源配置指南
本文将逐步介绍如何配置 RDS MariaDB 实例,使其能够通过 MySQL ClickPipe 复制数据。
我们也建议你阅读位于此处的 MySQL 常见问题解答。该常见问题页面会持续更新。
启用二进制日志保留
二进制日志是一组日志文件,其中包含对 MySQL 服务器实例所做数据修改的信息。二进制日志文件是实现复制所必需的。必须完成以下两个步骤:
1. 通过自动备份启用二进制日志
是否为 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,Global Transaction Identifiers)是在 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 配置指南完成连接配置。