全部产品

MySQL系统文件导致实例磁盘空间满的解决办法

问题描述

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

实例空间满

 

问题原因

MySQL实例可能会由于长时间不结束的查询导致ibdata1文件过大且无法收缩,导致实例空间满,为避免数据丢失,RDS会对实例进行自动锁定,磁盘锁定之后,将无法进行写入操作。

 

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

 

前提条件

  • 对于MySQL 5.6版本的实例,升级实例存储空间后即可解锁实例,关于如何升级实例配置,请参见变更配置,若实例存储空间已到最大值,请提交工单联系客服临时解锁实例,再进行后续操作。
  • 对于MySQL 5.5/5.7版本的实例,请提交工单联系客服临时解锁实例,再进行后续操作。

 

注意事项

  • 清理临时文件有延迟,请耐心等待实例已使用空间的下降。
  • 由于MySQL 5.7开始采用独立的临时表空间ibtmp1,可以通过重启实例的方式释放空间。对于MySQL5.5/5.6实例,在不升级磁盘空间的前提下,比较好的解决方法是在同地域同可用区购买相同配置的RDS实例,通过DTS工具将数据迁移到新实例中。

 

操作步骤

本节主要介绍如何迁移数据。

  1. 同地域同可用区购买相同配置的RDS实例,具体信息请参见创建RDS for MySQL实例
  2. 登录RDS管理控制台,在右上角单击 迁移数据库 进行迁移,具体迁移配置请参见RDS实例间的数据迁移
    迁移数据库

 

后续维护

  • 避免出现执行效率很差的SQL大量执行的情况。
  • 尽量在业务低峰期进行索引创建删除、表结构修改、表维护和表删除操作。
  • 建议您监控和清理执行时间过长的会话或事务。

 

更多信息

 

适用于

  • 云数据库 RDS MySQL 版

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。