管理本地日志(Binlog)

MySQL的本地日志(Binlog)是一种记录MySQL数据库所有更改操作的日志文件,可用于自行搭建主从架构、订阅数据等。本文介绍如何查看或删除RDS MySQL实例的本地日志(Binlog)。

本地日志与日志备份区别

对比项

本地日志(Binlog)

日志备份

概述

用于自行搭建主从架构、订阅数据等。

开启日志备份功能后,本地日志会实时上传(复制)到备份空间,形成日志备份。基于日志备份,您可以恢复数据到备份保留时间内的任意时间点。更多信息,请参见RDS MySQL日志备份

开启/关闭

默认开启,无法关闭。

支持开启或关闭。

费用

不涉及费用。

开启日志备份不收费,备份有免费额度,仅当数据备份和日志备份的总大小超过免费额度时,收取备份费用

存储空间

占用实例存储空间。

您可在实例基本信息页面的使用量统计区域查看存储空间大小。

不占用实例存储空间。

说明

日志备份存放于备份空间,备份空间不对外开放访问。您可在实例基本信息页面的使用量统计区域查看日志备份大小。

本地日志生成规则

RDS MySQL实例实时生成本地日志(Binlog),当一个Binlog文件的大小超过512 MB,或者写入超过6小时时,系统会自动切换到下一个序号的Binlog文件并继续写入。

说明

Binlog文件可能小于512 MB,例如由于命令的执行、系统重启等原因。Binlog文件可能大于512 MB,例如在执行大事务时,要等到大事务完成才能进行Binlog切换。

查看本地日志

本地日志(Binlog)不支持在RDS控制台查看,仅支持通过SHOW BINARY LOGS;命令查看。更多信息,请参见云数据库RDS MySQL版远程获取Binlog日志并解析Binlog日志

查看本地日志大小

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏选择监控与报警,查看日志空间使用量。

    说明

    主节点和从节点的Binlog大小在正常情况下默认是一致的,但由于一些原因(例如,主从延迟、Binlog dump延迟、DTS迁移任务或从节点仍在读取应用日志等),可能会导致主、从节点的Binlog大小不一致。

    binlog空间

删除本地日志

说明
  • 删除本地日志会释放其占用的本地存储空间。

  • 删除本地日志不会减少日志备份的大小,也不影响实例的按时间点恢复功能(按时间点恢复功能基于日志备份)。

自动删除本地日志

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏选择备份恢复

  3. 选择备份策略页签,编辑本地日志保留策略,本地日志被自动删除的规则如下:

    触发项

    触发条件

    默认值

    触发操作

    保留时长

    备份保留时长超过设定的保留时长。

    3小时

    超过保留时长的本地日志(Binlog)文件,当被备份后(需开启日志备份功能),会被自动清理。

    最大存储空间占有率

    存储空间占有率超过设定的最大存储空间占有率。

    说明

    存储空间占用率=本地日志(Binlog)文件大小/实例总可用存储空间大小。

    30%

    自动删除最早的本地日志(Binlog)文件,直至空间占用率低于设定比例。

    文件保留个数

    本地日志文件数超过设置的文件保留个数。

    60

    自动删除最早的本地日志(Binlog)文件,直至本地日志文件数低于设定的文件保留个数。

    可用存储空间

    实例总存储空间占用率超过80%或者剩余空间不足5 GB。

    -

    自动删除最早的本地日志(Binlog)文件,直至总空间占用率低于80%且剩余空间大于5 GB。

手动删除本地日志

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏选择备份恢复

  3. 单击一键上传Binlog,并单击确定

    说明
    • 本操作会保留最新的两个本地日志(Binlog)文件并删除其余所有本地日志文件,且该操作有一定延迟,需要等待一段时间才能生效。

    • RDS实例系列为基础系列时,不支持该操作。

    • 如果本地日志仍未被删除,且在日志管理页面查看到如下错误日志,则可能是因为客户端故障或存在数据订阅任务,需要停止相应的任务。

      [Warning] file /home/mysql/data3001/mysql/mysql-bin.069435 was not purged because it was being readby thread number 17126285
    • 一键上传Binlog功能会将本地日志(Binlog)文件上传至OSS,保留的天数等于日志备份保留天数。

  4. (可选)可以登录实例,执行show binary logs;命令查看本地日志列表。登录操作,请参见通过DMS登录RDS MySQL

  5. (可选)可以在监控与报警页面查看本地日志大小。日志大小

相关操作

常见问题

  • Q:RDS MySQL的Binlog本地日志如何开启?

    A:RDS MySQL的本地日志(Binlog)默认开启,无法关闭。具体详情,请参见管理本地日志(Binlog)

  • Q:主、从节点的Binlog文件大小为什么会不一致?

    A:主、从节点的Binlog大小默认是一致的,但可能存在如下原因导致主、从节点的Binlog大小不一致。

    • 主节点:主从延迟、Binlog dump延迟或DTS迁移任务仍在进行中等。

    • 从节点:从节点仍在读取应用(apply)日志。

  • Q:为什么我的本地日志刚生成就被自动删除了?

    A:可能是实例的存储空间使用率已经达到80%或剩余空间不足5 GB,此时如果本地日志保留策略中的可用存储空间是开启状态,则本地日志会被清理。建议手动增加存储空间或开启存储空间自动扩容功能,防止存储空间满了以后实例被锁定。