如何在MySQL Amazon RDS实例中释放空间

3
我们正在使用亚马逊 RDS 实例,但它的免费存储空间已经用完了。在调查问题时,我们删除了一个不再需要的表格。亚马逊的监控工具显示现在有 1GB 的可用空间。
进一步调查发现另一个表格有 700 万条记录,于是我们使用简单的删除命令删除了其中的 500 万条记录。但是现在,可用存储空间几乎降低了一半。我们非常接近再次用完空间。
我(天真地)认为从表格中删除条目会回收空间。为什么不是这种情况?我需要执行某种形式的手动清理操作吗?为什么执行删除操作会导致将近 1/2 GB 的可用空间被占用(查看表格,大小在删除前为 2677MB,现在为 2961MB!)
谢谢, Phil

MySQL在删除后将保留空间,但您可以在该空间中插入新行。此外,删除操作将被记录,这可能会导致使用额外的空间。有关删除行的通用信息,请参见 此问题。有关AWS上日志文件等的更多信息,请参见此文档 - GolezTrol
1个回答

0

你的数据库中可能有未使用的索引,这些索引可能占用了空间。Percona为MySQL制作工具和补丁以收集索引使用数据。

请查看以下链接:

你也可以查看以下链接:

我建议使用性能模式(performance schema),前提是您使用的MySQL版本为5.6或更高。此外,您还可以查看 MONyog-Mysql监控工具。它包括用于监视MySQL服务器不同性能指标的工具,在其中有一个磁盘信息功能,可能会对解决此问题有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接