删除本地日志(Binlog)

RDS MySQL的本地日志(Binlog)会根据日志保留策略自动删除,也可以手动删除。

注意事项

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

    说明

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

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

操作步骤

自动删除本地日志

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏选择备份恢复

  3. 选择备份设置备份策略页签,编辑本地日志保留策略

    • 规则一:自动删除超过保留时长的本地日志,默认为18小时。

    • 规则二:满足以下任一条件时,自动删除最早的本地日志文件,直至不满足条件。

      • 本地日志大小÷存储空间大小超过最大存储空间占有率(默认为30%)。

      • 本地日志文件数超过文件保留个数(默认为60)。

      • 实例存储空间使用率超过80%或剩余不足5 GB(前提是开启可用存储空间)。

手动删除本地日志

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏选择备份恢复

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

    本操作会删除所有本地日志文件,除了两个最新的日志文件。例如:

    • 如果本地只有三个日志文件(mysql-bin.000192、mysql-bin.000193、mysql-bin.000194),只会删除mysql-bin.000192。

    • 如果本地只有两个日志文件,本操作不会删除任何文件。

    说明
    • 本操作有一定延迟。

    • 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. 可以在监控与报警页面查看本地日志大小。日志大小

相关API

API

描述

PurgeDBInstanceLog

删除本地日志。

常见问题

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

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

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

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

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

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

阿里云首页 关系型数据库 相关技术圈