问题描述:
阿里云RDS空间不足,进行报警。收到报警后。对数据库中不重要的数据备份后执行delete删除操作。执行成功后发现数据删掉了。但是数据库的空间并没有释放。数据占用空间反而越来越大,最后RDS数据库的磁盘空间满导致实例锁定,应用无法对RDS数据库进行读写操作,从而严重影响业务。
解决方案:
因为 MySQL delete 删除数据库数据后,空间并不是直接回收的。 需要执行 optimize table 回收空间。可以执行 truncate table 'tables_name'删除。
操作如下:登录DMS
参考文档:
RDS for MySQL 删除数据后空间没有减少处理方法 https://help.aliyun.com/knowledge_detail/41720.html
RDS磁盘空间满导致实例锁定 https://help.aliyun.com/knowledge_detail/60547.html?spm=5176.10695662.1996646101.searchclickresult.45992981rglgMT
用delete删除数据使数据库占用硬盘空间增大的原因 https://blog.csdn.net/zoro_13/article/details/23122511
什么是表空间碎片? https://help.aliyun.com/knowledge_detail/57848.html