我有一个 Amazon Aurora MySQL 兼容版数据库集群。我想增加 binlog 的保留期,以提高 binlog 提取的性能。
简短描述
若要增加 Aurora MySQL 兼容版数据库集群 binlog 的可用性,请增加数据库集群的 binlog 保留期。
**注意:**在 Aurora MySQL 兼容版数据库集群上启用 binlog 会对性能产生下列影响:
- 由于这会导致额外的写入开销,因此请仅在必要时启用它。
- 由于 binlog 恢复进程的存在,因此重启时引擎的启动时间会增加。
最佳做法是,在下列情况下,在 Aurora MySQL 兼容版数据库集群中启用二进制日志记录:
- 对于跨多个 AWS 区域的 Aurora 只读副本
- 对于到外部 MySQL 兼容版数据库的 Aurora 手动复制
**注意:**Aurora MySQL 兼容版不使用 binlog 进行集群内复制。Aurora MySQL 兼容版全局数据库不使用 binlog。
解决方法
在 Aurora MySQL 兼容版数据库集群中启用二进制日志记录
- 打开 Amazon Relational Database Service(Amazon RDS)控制台。
- 在导航窗格中,选择参数组。
注意:如果您使用的是默认 Aurora 数据库集群参数组,请同时创建新的数据库集群参数组。然后,对于类型,选择数据库集群参数组。
- 选择数据库自定义集群参数组。然后,选择参数组操作。
- 选择编辑。
- 更改 binlog_format 参数的值。例如: ROW、Statement 或 MIXED。
- 选择保存更改。
有关详细信息,请参阅如何为 Aurora MySQL 兼容版集群启用二进制日志记录?
增加 Aurora MySQL 兼容版数据库集群中的 binlog 保留期
验证您的复制源是否保留其 binlog 文件,直到更改应用于副本。
**注意:**请务必选择在删除 binlog 文件之前保留这些文件的时间范围。保留时间范围必须足够长,以确保在删除前将更改应用于您的副本。
若要增加数据库集群的 binlog 保留期,请使用 mysql_rds_set_configuration 操作。您可以在写入器实例上运行以下命令和示例参数,以将 binlog 文件保留七天:
CALL mysql.rds_set_configuration('binlog retention hours', 168);
对于版本低于 2.11 的 Aurora MySQL 兼容版(兼容 MySQL 5.7),binlog 保留小时数的最大值为 168(7 天)。因此,必须将此值输入为介于 1 和 168 之间的数字,或者将其输入为 NULL。
对于 2.11.0 及更高版本,binlog 最大保留小时数为 2160(90 天)。如果您为 binlog 保留小时数输入的值大于 2160,则该值将自动设为 2160。
相关信息
在复制源上保留二进制日志,直到不再需要为止