配置 Aurora MySQL 二进制日志记录 - Amazon Aurora

配置 Aurora MySQL 二进制日志记录

二进制日志是一组日志文件,其中包含对 Aurora MySQL 服务器实例所做的数据修改的信息。二进制日志包含以下信息:

  • 描述数据库更改的事件,例如表创建或行修改

  • 有关更新数据的各语句的持续时间的信息

  • 本应更新但未更新数据的语句的事件

复制过程中发送的二进制日志记录语句。一些恢复操作也需要用到这些语句。有关更多信息,请参阅 MySQL 文档中的二进制日志二进制日志概览

只能从主数据库实例访问二进制日志,而不能从副本访问。

Amazon Aurora 上的 MariaDB 支持基于行基于语句混合二进制日志记录格式。我们建议混合使用,除非您需要特定的二进制日志格式。有关不同的 Aurora MySQL 二进制日志格式的详细信息,请参阅 MySQL 文档中的二进制日志记录格式

如果您计划使用复制,则二进制日志记录格式很重要,因为它确定了在源中记录和发送到复制目标的数据更改记录。有关用于复制的不同二进制日志记录格式的优缺点的信息,请参阅 MySQL 文档中的基于语句和基于行的复制的优点和缺点

重要

将二进制日志记录格式设置为基于行会生成非常大的二进制日志文件。大型二进制日志文件会减少可用于数据库集群的存储空间量,还会增加执行数据库集群还原操作所需的时间。

基于语句的复制可能在源数据库集群和只读副本之间导致不一致。有关更多信息,请参阅 MySQL 文档中的确定二进制日志记录中的安全和不安全语句

启用二进制日志记录会增加数据库集群的写入磁盘 I/O 操作数。您可以使用 VolumeWriteIOPs CloudWatch 指标监控 IOPS 使用情况。

设置 MySQL 二进制日志记录格式
  1. 通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

  3. 选择要修改的与数据库集群关联的数据库集群参数组。

    您无法修改默认参数组。如果数据库集群使用默认参数组,则创建新的参数组并将其与数据库集群关联。

    有关参数组的更多信息,请参阅使用参数组

  4. 操作中,选择编辑

  5. binlog_format 参数设置为您选择的二进制日志记录格式(ROWSTATEMENTMIXED。您也可以使用值 OFF 关闭二进制日志记录。

    注意

    在数据库集群参数组中将 binlog_format 设置为 OFF 会禁用 log_bin 会话变量。这将禁用 Aurora MySQL 数据库集群上的二进制日志记录,这反过来又会将数据库中的 binlog_format 会话变量重置为默认值 ROW

  6. 选择保存更改以保存对数据库集群参数组的更新。

执行这些步骤后,必须重启数据库集群中的写入器实例,才能应用更改。在 Aurora MySQL 版本 2.09 及更低版本中,当您重启写入器实例时,数据库集群中的所有读取器实例也将重启。在 Aurora MySQL 版本 2.10 及更高版本中,您必须手动重启所有读取器实例。有关更多信息,请参阅重启 Amazon Aurora 数据库集群或 Amazon Aurora 数据库实例

重要

更改数据库集群参数组会影响使用该参数组的所有数据库集群。如果要为AWS区域中的不同 Aurora MySQL 数据库集群指定不同的二进制日志记录格式,数据库集群必须使用不同的数据库集群参数组。这些参数组标识不同的日志记录格式。为每个数据库集群分配相应的数据库集群参数组。有关 Aurora MySQL 参数的更多信息,请参阅 Aurora MySQL 配置参数