问题描述

 当实例由于磁盘空间满导致自动锁定,登录控制台,依次单击基本信息>运行状态,查看运行状态。

 问题原因

 MySQL实例可能会由于大事务快速生成Binlog文件,导致实例空间满,为避免数据丢失,RDS会对实例进行自动锁定,磁盘锁定之后,将无法进行写入操作。

 解决方案

 阿里云提醒您:

 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

 前提条件

 对于MySQL 5.5、5.6、5.7和8.0版本的实例,建议您提前扩容磁盘,保证磁盘使用率不超过80%,其次建议您清理无用数据。

 上述两个方法都不可用或紧急情况可以提交工单临时解锁实例,再进行后续操作。

 注意事项

 1、Binlog文件记录实例的事务信息,是MySQL实例高可用性、可恢复性的基础,建议不要关闭。可以通过一键上传Binlog到阿里云OSS来释放磁盘空间或者修改本地Binlog设置。

 2、清理Binlog文件有延迟,请耐心等待实例已使用空间的下降。

 3、一键上传Binlog会在后台异步提交清理任务,清理任务会将已写入的Binlog上传到OSS(非用户购买的OSS)上,然后再从实例空间中删除Binlog文件,当前正在被写入的Binlog文件由于未完成写入,是不可以被清理的。因此,清理过程会有一定延迟,建议您单击一键上传Binlog后耐心等待一定时间,请勿多次单击该按钮,可以到基本信息页中查看已用空间是否减小。

 4、由于DML等操作(比如涉及大字段的DML操作)导致快速生成Binlog,可能会出现上传Binlog文件到备份空间并且从实例空间中删除的处理速度跟不上实例生成Binlog文件的速度,在这种情况下,建议考虑升级磁盘空间,并且排查Binlog快速生成的原因。

 一键上传Binlog

 1、登录RDS管理控制台,在页面左上角,选择实例所在地域。

 2、找到目标实例,单击实例ID。

 3、在左侧导航栏中单击备份恢复。

 4、在右上角单击一键上传Binlog,在弹出的对话框中单击确定。

MySQL数据库 Binlog文件导致实例空间满的解决办法(图1)

 修改本地Binlog设置

 1、登录RDS管理控制台,在页面左上角,选择实例所在地域。

 2、找到目标实例,单击实例ID。

 3、在左侧导航栏中单击备份恢复。

 4、选择本地日志设置页签,单击编辑,将磁盘空间使用率设置为30%,可用空间保护设置为开启。

MySQL数据库 Binlog文件导致实例空间满的解决办法(图2)

 提示:

 保留时长为备份完毕的binlog文件,会保留多长时间内产生的文件。若设置为0,表示本地不保存Binlog日志,直接上传到OSS。实际上,MySQL产生后会触发流式秒级备份。

 本地Binlog空间使用率等于本地Binlog大小除实例总可用(购买)空间大小。此为循环使用空间,超出后,则从最早的Binlog开始清理,直到空间使用率低于该比例。

 当实例总空间使用率超过80%或剩余空间不足5GB时,会强制清理Binlog。从最早的开始清理,直到总空间使用率降到80%以下且剩余空间大于5GB。

 更多信息

 更多实例空间满的解决方法请参见如下链接:

 1、数据文件导致实例空间满的解决办法

 2、临时文件导致实例空间满的解决办法

 3、系统文件导致实例空间满的解决办法

 适用于

 云数据库RDS MySQL版

 如果您的问题仍未解决,您可以免费咨询久云大使,或登陆阿里云官网提交工单联系阿里云技术支持。

分享
继续阅读相关文章

发表评论 快来秀出你的观点

评论区暂时关闭,请谅解!
评论 点赞 收藏