我刚刚将RDS存储空间从10GB升级到20GB,几天后RDS再次说存储已满。
在MySQL工作台中针对同一个数据库运行此查询表示数据库大小为43MB
SELECT table_schema "database_name",
sum( data_length + index_length ) / 1024 /
1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;
因此,MySQL创建的日志或备份等可能会占用生产服务器上的存储空间。
请帮忙。
答案 0 :(得分:5)
它可能是mysql.slow_log表,占用了很多空间 您可以通过执行以下sql删除慢速日志:
CALL mysql.rds_rotate_slow_log
答案 1 :(得分:0)
mysql中有几种类型的日志。 看看http://dev.mysql.com/doc/refman/5.1/en/server-logs.html。 但我建议查看慢查询日志。如果您有很多慢查询,您的日志将快速增加。 还要检查选项--log-queries-not-using-indexes。也许您在没有索引的情况下记录所有查询。
答案 2 :(得分:0)
您的系统表空间可能占用了空间。
您可以使用以下查询进行检查:
select TABLESPACE_NAME,FILE_NAME,FREE_EXTENTS,TOTAL_EXTENTS,EXTENT_SIZE
from INFORMATION_SCHEMA.files
where TABLESPACE_NAME in ('innodb_system','innodb_temporary');
尝试重启数据库。它应该解决问题。