RDS MySQL 存储已满...当数据库使用率低时

RDS MySQL Storage Full ... When DB usage is low

我的一个暂存 RDS 表上的 Storage Full 并试图找出哪个 DB/Tables 大...但发现它们实际上非常小:

SELECT 
     table_schema as `Database`, 
     table_name AS `Table`, 
     round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` 
FROM information_schema.TABLES 
ORDER BY (data_length + index_length) DESC;

SELECT table_schema "DB Name", 
Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" 
FROM   information_schema.tables 
GROUP  BY table_schema; 

最大的数据库只有 16.7 MB 那么什么填满了我的 10GB RDS?

从模式来看,我怀疑一些 cron ...确实有一个 cron 插入数据 ...但是正如您从 table/db 大小中看到的那样,它并没有那么大 ...还有什么可以正在填写我的 RDS? backup/logs 等是否算作存储空间?

更新

我注意到 7 月 26 日数据库可用存储量出现峰值,我尝试查看一般查询日志以确定发生了什么。我注意到那里

 PURGE BINARY LOGS TO 'mysql-bin-changelog.097019'

想知道它是否无法随后清除日志?

SHOW BINARY LOGS;

查看日志的数量和大小。然后我们可以讨论清除其中的一些。

SHOW VARIABLES LIKE '%log%'

查找提到的文件;向我们展示输出,以便我们讨论尺寸。

"general log"可以长得很快;不使用时将其关闭。并删除它的日志。

"slow log" 非常适合调试性能问题。用pt-query-digest总结一下,再折腾一下

"error log"应该不大。如果是,那么您可能遇到了更严重的问题。

expire_logs_days 的当前设置是什么?