Binlog日志的生成规则

MySQL实例空间内生成Binlog日志的规则如下:

  • 通常情况下,当前Binlog大小超过500MB或超过6小时会切换到下一序号文件继续写入,即写满500MB或超过6小时就会生成新的Binlog日志文件。新的Binlog文件继续写入,老的Binlog文件并不会立刻上传,会异步上传。
  • 有些情况下,Binlog日志不满500MB就不再写入,比如由于命令的执行、系统重启等原因。
  • 有些情况下,会出现Binlog文件尺寸超过500MB的情况,比如当时在执行大事务,不断写入Binlog导致当前Binlog文件尺寸超过500MB。

Binlog日志的保存及清理规则

MySQL实例的空间内默认清理Binlog日志的规则如下:

  • 实例空间内默认会保存最近18个小时内的Binlog文件。
  • 当实例使用空间小于购买空间的80%时,系统会保存购买空间的30%的Binlog(即使该Binlog文件已经上传到OSS内)。
  • 当实例使用空间超过购买空间的80%时,Binlog会在上传到OSS后,发起删除本地数据的请求,但本地删除会有任务调度,有一定延迟。
  • Binlog日志在后台生成,可在RDS控制台中下载,大概需要30~60分钟,如果binlog文件较大,所需时间更长。
  • Binlog文件上传到OSS后,才可以在RDS控制台上显示。查看步骤如下:
    1. 登录RDS管理控制台
    2. 选择要管理的实例所在的地域。
    3. 单击目标实例右的ID,进入基本信息页面。
    4. 在左侧导航栏中,单击备份恢复
    5. 选择日志备份页签,即可查看已上传的Binlog日志。

手动清理Binlog日志

您可以通过RDS控制台手动清理Binlog日志以降低MySQL实例磁盘空间的使用率。详情请参见如何排查MySQL实例空间满后自动锁定的原因中的Binlog文件占用高的解决方法

相关文档