热线电话:13121318867

登录
2019-03-03 阅读量: 1061
Mongodb 占用的硬盘空间问题

Mongodb 不会释放已经占用的磁盘空间, 即使drop collection也不行, 除非drop database. 这就导致如果一个db曾经有大量的数据一段时间后又删除的话,硬盘空间就是一个问题。

       解决磁盘空间释放的问题有两种方法:

第一种是dump & restore: 

1.  mongodump -d databasename -o /path/to/dump_dir  
2.  echo 'db.dropDatabase()' | mongo <databasename>  
3.  mongorestore -d <databasename>  /path/to/dump_dir  

 如果数据量不大,dump不需要太长时间的情况下,或者经常备份有dump文件的情况的下,这种方法很简单。

 第二种repair database 

即在mongo shell中运行db.repairDatabase() , 或者 db.runCommand({ repairDatabase: 1 }) , 第二种方法可以带其他几个参数

{ repairDatabase: 1,  
  preserveClonedFilesOnFailure: <boolean>,  
  backupOriginalFiles: <boolean> }  
0.0000
4
关注作者
收藏
评论(0)

发表评论

暂无数据