配置 RDS for MySQL 二进制日志记录
二进制日志是一组日志文件,其中包含对 MySQL 服务器实例所做的数据修改的信息。二进制日志包含以下信息:
-
描述数据库更改的事件,例如表创建或行修改
-
有关更新数据的各语句的持续时间的信息
-
本应更新但未更新数据的语句的事件
复制过程中发送的二进制日志记录语句。一些恢复操作也需要用到这些语句。有关更多信息,请参阅 MySQL 文档中的二进制日志
自动备份功能会判断是否为 MySQL 开启或关闭二进制日志记录。您有以下选项:
- 打开二进制日志记录
-
将备份保留期设置为非零正值。
- 关闭二进制日志记录
-
将备份保留期设置为 0。
有关更多信息,请参阅 启用自动备份。
Amazon RDS 上的 MariaDB 支持基于行、基于语句和混合二进制日志记录格式。我们建议混合使用,除非您需要特定的二进制日志格式。有关不同的 MySQL 二进制日志格式的详细信息,请参阅 MySQL 文档中的二进制日志记录格式
如果您计划使用复制,则二进制日志记录格式很重要,因为它确定了在源中记录和发送到复制目标的数据更改记录。有关用于复制的不同二进制日志记录格式的优缺点的信息,请参阅 MySQL 文档中的基于语句和基于行的复制的优点和缺点
重要
将二进制日志记录格式设置为基于行会生成非常大的二进制日志文件。大型二进制日志文件会减少可用于数据库实例的存储空间量,还会增加执行数据库实例还原操作所需的时间。
基于语句的复制可能在源数据库实例和只读副本之间导致不一致。有关更多信息,请参阅 MySQL 文档中的确定二进制日志记录中的安全和不安全语句
启用二进制日志记录会增加数据库实例的写入磁盘 I/O 操作数。您可以使用 WriteIOPS
CloudWatch 指标监控 IOPS 使用情况。
设置 MySQL 二进制日志记录格式
通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
选择要修改的与数据库实例关联的数据库参数组。
您无法修改默认参数组。如果数据库实例使用默认参数组,则创建新的参数组并将其与数据库实例关联。
有关参数组的更多信息,请参阅Amazon RDS 的参数组。
-
从操作中,选择编辑。
-
将
binlog_format
参数设置为您选择的二进制日志记录格式(ROW
、STATEMENT
或MIXED
)您可以通过将数据库实例的备份保留期设置为零来关闭二进制日志记录,但这会禁用每日自动备份。禁用自动备份会关闭或禁用
log_bin
会话变量。这将禁用 RDS for MySQL 数据库实例上的二进制日志记录,这反过来又会将数据库中的binlog_format
会话变量重置为默认值ROW
。我们建议您不要禁用备份。有关设置备份保留期的更多信息,请参阅数据库实例的设置。 -
选择保存更改以保存对数据库参数组的更新。
由于 binlog_format
参数在 RDS for MySQL 中是动态的,因此您无需重启数据库实例即可应用更改。(请注意,在 Aurora MySQL 中,此参数是静态的。有关更多信息,请参阅配置 Aurora MySQL 二进制日志记录。)
重要
更改数据库参数组会影响使用该参数组的所有数据库实例。如果要为 AWS 区域中的不同 MySQL 数据库实例指定不同的二进制日志记录格式,数据库实例必须使用不同的数据库参数组。这些参数组标识不同的日志记录格式。为每个数据库实例分配相应的数据库参数组。