RDS存储占用100%但未存数据,如何释放空间适配免费套餐?
解决AWS RDS免费套餐存储占满的问题
首先明确:AWS免费套餐的20GB存储是所有RDS实例的总占用量,包含实例本身的存储、自动备份快照、数据库日志等,并非仅计算用户存储的数据。针对你的情况,可通过以下步骤释放空间:
清理自动备份快照
RDS默认开启的自动备份会占用大量存储,即使无用户数据,实例的系统备份也会累积占用空间。- 控制台操作:进入RDS控制台,选中目标实例切换到「备份」标签,查看所有自动快照的占用大小,删除不需要的旧快照(若无需长期备份,可直接关闭该实例的自动备份功能)。
- 命令行操作(可选):
# 查看实例的自动快照 aws rds describe-db-snapshots --db-instance-identifier your-db-instance-name # 删除指定快照 aws rds delete-db-snapshot --db-snapshot-identifier your-snapshot-name
清理数据库日志文件
数据库运行产生的日志(如MySQL的二进制日志、PostgreSQL的WAL日志)会持续占用空间,即使无用户数据也可能累积到较大体积。- MySQL:登录数据库后执行以下命令清理7天前的二进制日志,同时可修改实例参数组缩短日志保留时长:
PURGE BINARY LOGS BEFORE DATE_SUB(NOW(), INTERVAL 7 DAY); - PostgreSQL:执行命令清理旧WAL日志,或调整
wal_keep_segments参数减少保留的日志数量:-- 查看当前活跃日志 SELECT pg_walfile_name(pg_current_wal_lsn()); -- 切换日志并触发旧日志清理 SELECT pg_rotate_wal();
- MySQL:登录数据库后执行以下命令清理7天前的二进制日志,同时可修改实例参数组缩短日志保留时长:
删除闲置RDS实例
若两个实例并非都必需,直接删除其中一个闲置实例,可一次性释放该实例占用的所有存储(包括实例本身存储及关联备份)。删除前确认无需要保留的数据,避免误删。
注意:RDS实例的存储容量仅支持扩容,无法直接缩容,所以不要尝试调整实例的存储大小来减少占用,只能通过上述方式腾空间。
内容的提问来源于stack exchange,提问作者ELEVEN
相关产品推荐
相关产品推荐

