RDS for MySQL 删除数据后空间没有减少处理方法
RDS for MySQL 删除数据后空间没有减少,是因为 MySQL delete 删除数据库数据后,空间并不是直接回收的。
注:
- 阿里云dms控制台或者其他数据库管理工具执行优化表(optimize table ),都会加 metadata锁,但是 online ddl的特性允许并发读写。(online ddl说明:https://help.aliyun.com/knowledge_detail/41733.html)
- 执行优化表操作,是一copy得方式,所以磁盘空间会暂时性增加(增加的事临时数据),但是优化表结束后, 回会回收临时数据空间。期间,若磁盘空间占满,rds则会锁定实例, 不能继续读写数据。
1、执行 optimize table 回收空间
注意:optimize table操作将会锁表,建议在业务低峰期操作。
optimize table 参考连接:https://dev.mysql.com/doc/refman/5.6/en/optimize-table.html
optimize table 支持 Innodb 引擎表和 MyISAM 引擎表。
2、通过 DMS 操作
注意:通过DMS操作也会锁表。
登录DMS https://dms-rds.aliyun.com
选择要操作的表,右击—表维护—优化表。
可以批量优化:
右击
批量操作表
更多批量操作
全选
优化表
其他数据库管理工具亦是如此(例如;Navicat for MySQL)