您可以设置RDS MySQL实例的Binlog自动上传规则,或者手动发起BInlog上传,及时将Binlog上传到RDS用来保存备份文件的OSS上,避免占用过多存储空间。

背景信息

在清理本地日志前,请先了解MySQL Binlog生成和清理规则。

说明 Binlog上传到RDS用来保存备份文件的OSS上,该OSS的存储费用不能使用OSS资源包进行抵扣。
  • MySQL实例默认生成Binlog规则
    • 通常情况下,当Binlog大小超过500 MB时会切换到下一序号文件继续写入,即写满500 MB就会生成新的Binlog日志文件继续写入。
    • 有些情况下,Binlog日志不满500 MB就不再写入,例如由于命令的执行、系统重启等原因。
    • 有些情况下,会出现Binlog文件尺寸超过500 MB的情况,例如当时在执行大事务,不断写入Binlog导致当前Binlog文件尺寸超过500 MB。
  • MySQL实例默认清理Binlog规则

    超过以下任一规则限制时,Binlog会上传到OSS,然后从最早的Binlog开始清理,直到不超过规则限制。清理本地Binlog会有任务调度,有一定延迟。

    • 保存最近18个小时内的Binlog文件。
    • 保存最多60个Binlog文件。
    • 保证空间使用率(本地Binlog大小/实例总存储空间大小)不超过30%。
    • 保证实例存储空间使用率不超过80%或剩余空间不小于5 GB。
    说明 当本地Binlog超过规则限制仍未清理,可能是客户端故障或DTS任务阻塞,需要将相应的任务终止。您可以在日志管理页面查看错误日志查看线程ID,例如:
    [Warning] file /home/mysql/data3001/mysql/mysql-bin.069435 was not purged because it was being readby thread number 17126285

设置本地日志(Binlog)上传规则

  1. 进入备份恢复页面。
    1. 登录RDS管理控制台,在左侧单击实例列表,然后在上方选择地域。
      选择地域
    2. 单击目标实例ID,在左侧导航栏单击备份恢复
  2. 单击本地日志设置页签。
  3. 单击编辑进行设置,参数说明如下。
    参数 说明
    保留时长 默认值为18,表示本地只保存最近18个小时内的Binlog文件,18个小时之前的日志将在备份后(需要开启日志备份)清理。取值:0~168。
    空间使用率不超过 默认值为30%,表示本地Binlog空间使用率大于30%时,系统会从最早的Binlog开始清理。取值:0~50 。
    保留个数 默认值为60。表示本地Binlog文件的最大保留个数,超出限制后会从最早的Binlog开始清理。取值:6~100。
    可用空间保护 默认开启该功能,表示当实例总空间使用率超过80%或实例剩余可用空间不足5 GB时,会强制从最早的Binlog开始清理,直到总空间使用率降到80%以下且实例剩余可用空间大于5 GB。
  4. 单击确定

手动上传本地日志(Binlog)

您可以手动发起Binlog上传,上传后实例本地会清理所有Binlog。清理本地Binlog会有任务调度,有一定延迟。

说明 基础版暂不支持一键上传Binlog。
  1. 进入备份恢复页面。
    1. 登录RDS管理控制台,在左侧单击实例列表,然后在上方选择地域。
      选择地域
    2. 单击目标实例ID,在左侧导航栏单击备份恢复
  2. 单击一键上传Binlog,在弹出的提示框中单击确定

相关API

API 描述
PurgeDBInstanceLog 清理或收缩RDS实例日志。