如何解决RDS MySQL实例内Binlog日志磁盘使用率过高的问题

问题描述

RDS MySQL实例内Binlog日志磁盘使用率过高,磁盘空间已满导致实例被锁定,RDS无法进行读和写操作,从而影响业务。

问题原因

Binlog日志占用实例空间过高,主要为以下原因所导致:

应用端存在大量的读和写请求,从而导致RDS数据库产生了大量的事务操作和Binlog日志文件。

应用业务中存在大事务,产生了较多的Binlog日志。

进程占用Binlog日志会导致清理程序异常,无法及时清理Binlog。

解决方案

登录RDS管理控制台,选择目标实例所在地域,单击目标实例ID,进入基本信息页面。

在左侧导航栏中,选择备份恢复,进入备份恢复页面。

选择一键上传Binlog,将Binlog日志上传到OSS中,待Binlog日志上传成功之后,将本地的Binlog日志删除。

更多信息

以下内容为Binlog日志的生成机制和清理规则。

实例内生成Binlog日志的规则

通常情况下,当前Binlog大小超过500MB时会切换到下一个序号文件继续写入,即写满500MB就会生成新的Binlog日志文件。新的Binlog文件将继续写入,之前的Binlog文件并不会立刻上传到OSS中,会使用异步上传的方式上传到OSS中。

如果Binlog文件大小不满500MB就不再写入,可能是由于命令的执行、系统重启等原因。

当出现Binlog文件大小超过500MB的情况,例如在执行大事务,不断写入Binlog导致当前Binlog文件大小超过500MB。

实例内清理Binlog日志的规则

实例内默认会保存最近18个小时内的Binlog文件。

当实例空间小于70%%u65F6,系统会保存18小时内的Binlog,即使该Binlog文件已经上传到OSS中。

当实例空间大于70%%u65F6,Binlog会在上传到OSS后,发起删除本地数据的请求,但是本地删除会有任务调度有一定延迟。

Binlog文件上传到OSS后,才可以在RDS管理控制台中显示。

如果由于磁盘空间满而导致RDS实例被锁定,无法进行数据库的读写操作,严重影响业务,可以提交工单,请阿里云技术支持解除对RDS实例的临时锁定,恢复业务的使用。然后客户通过在RDS控制台清理Binlog日志或删除无用的历史数据来释放磁盘空间。

适用于

云数据库 RDS MySQL 版

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » 如何解决RDS MySQL实例内Binlog日志磁盘使用率过高的问题

登录

找回密码

注册