我在我的一个暂存 RDS 表上存储已满,并试图找出哪个数据库/表很大......但发现它们实际上非常小:
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 插入数据 ...但正如您从表/数据库大小中看到的那样,它并没有那么大 ...还有什么可以填满我的数据系统?备份/日志等是否算作存储?
更新:
我注意到 7 月 26 日数据库可用存储量出现峰值,我尝试查看一般查询日志以确定发生了什么。我注意到有
PURGE BINARY LOGS TO 'mysql-bin-changelog.097019'
想知道它是否无法随后清除日志?
最佳答案
SHOW BINARY LOGS;
查看日志的数量和大小。然后我们可以讨论清除其中的一些。
SHOW VARIABLES LIKE '%log%'
追踪提到的文件;向我们展示输出,以便我们讨论尺寸。
“通用日志”可以增长得非常快;不使用时将其关闭。并删除它的日志。
“慢日志”非常适合调试性能问题。用pt-query-digest
总结一下,然后折腾一下。
“错误日志”不应该很大。如果是,那么您可能遇到了更严重的问题。
expire_logs_days
的当前设置是什么?
关于mysql - RDS MySQL Storage Full ...当数据库使用率低时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52032528/