如果我删除MongoDB数据库文件会发生什么?

4
这是我的问题,我正在使用Talend和Mongodb进行数据转换项目的测试VM。不幸的是,我尝试在磁盘空间明显不足的情况下启动了一个大规模的Map/Reduce操作,结果它崩溃了。(我从一个2GB的csv文件中加载了单个集合数据,它创建了一个9GB的数据库,我认为这只是分配的空间,我的下一步操作不会再次使它变大...然后用Map/Reduce脚本在新的集合中聚合了一些。)
现在,我无法打开mongo shell,即使我强制删除由于损坏的数据库文件而导致的锁定文件。并且启动mongodb时的修复命令由于磁盘空间不足(10GB数据库文件需要相同数量的磁盘空间,但我只有2GB)而失败。
我想完全摆脱数据库,以便重新开始采样数据,所以基本上我想删除数据库而无法使用shell...我可以只删除dbname.1到dbname.8和dbname.ns文件吗?这似乎有点暴力...
谢谢您的帮助!
编辑:解决了我的问题,使用--nojournal启动mongod,但仍然对mongodb如何处理这些被删除的文件感兴趣。

3
如果您删除所有数据文件,您将失去所有数据,就像一个全新的MongoDB实例。在MongoDB 2.6中,要摆脱一个数据库,您可以删除其所有关联文件,这不应影响其他数据库中的数据。 - wdberkeley
很好,我担心会漏掉列出实例中数据库或类似内容的文件。 - Vincent Chalmel
1个回答

5
如果您删除与数据库相关的所有文件,应该大部分没有问题。由于某些原因,我不得不这样做,但没有出现任何问题。当然,这并不是最佳解决方案,但如果您这样做,希望不会发生任何意外情况。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接