我想通过回收已删除的空间来缩小数据文件大小,但我无法运行db.repairDatabase(),因为可用磁盘空间不够.
Gat*_* VP 12
更新:使用WiredTiger,可以腾出空间.compact
这个问题的原始答案在这里: 减少MongoDB数据库文件的大小
除此之外什么也没有什么repair可以收回空间.本compact应该让你更长的时间去对现有的空间.否则,您将不得不迁移到更大的驱动器.
一种方法是使用副本集中的脱机辅助节点.这应该为您提供整个维护窗口,以便迁移,修复,后退和恢复.
如果您没有运行副本集,则应该考虑这样做.
Eko*_*tin 11
您可以compact在单个集合上运行该命令,也可以在要缩小的所有集合中逐个运行该命令.
http://www.mongodb.org/display/DOCS/Compact+Command
db.runCommand( { compact : 'mycollectionname' } )
Run Code Online (Sandbox Code Playgroud)
正如评论中所指出的,我错了,compact实际上并没有回收磁盘空间,它只对碎片整理和重建集合索引进行碎片整理.
相反,如果您有另一个可用的可用空间驱动器,则可以使用"--repairpath"选项.
例如:
mongod --dbpath /data/db --repair --repairpath /data/db0
Run Code Online (Sandbox Code Playgroud)
如下所示:http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/
udo*_*udo 11
您也可以手动mongodump和mongorestore.这与repairDatabase的功能基本相同.这样,您就可以将磁盘空间转储到具有足够磁盘空间的其他计
| 归档时间: |
|
| 查看次数: |
37407 次 |
| 最近记录: |