2011-08-26 66 views
7

我刚刚将我的RDS存储从10GB升级到20GB,几天之后,RDS再次说存储空间已满。RDS数据库存储空间不足

运行中针对同一数据库MySQL工作台此查询表示,DB大小为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

在mysql中有几种类型的日志。 看http://dev.mysql.com/doc/refman/5.1/en/server-logs.html。 但我建议查看慢查询日志。如果你有很多慢查询,你的日志会快速增加。 另外检查选项 - 日志查询不使用索引。也许你记录了所有没有索引的查询。

+0

如何访问这些日志,并将其删除,以恢复空间?顺便说一句,我们在MySQL 5.1.57上,慢速查询日志是从5.1.6开始的。 – Aakash

+0

我看到innodb_log_file_size = 134217728和max_binlog_size = 134217728是否会成为问题? – Aakash

+0

看来,这是你的问题的原因。 –

5

它可能mysql.slow_log表占用这么多空间。
可以通过执行以下SQL删除慢日志:

CALL mysql.rds_rotate_slow_log 
+0

但是,亚马逊声称[“MySQL缓慢查询日志,错误日志和一般日志文件大小限制为不超过数据库实例分配存储空间的2%。”](http:// docs。 aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html) - 那么43MB数据库的日志文件大小如何达到20GB?... – Ioanna