恢复的Mongo DB缺少某些数据文件

时间:2017-02-22 21:25:21

标签: mongodb

我正在将数据库从一台服务器迁移到另一台服务器,让我们说由于我无法控制的情况,我们仅限于“剪切和粘贴”。对于大约66GB的文件(.0,.1和.ns--每个文件中的几百个),这根本不可行。

我的一个想法是只复制转储文件,然后使用mongorestore从备份中恢复数据库。转储文件总共只有几兆字节,因此很容易将这些文件从一个环境复制到另一个环境。

为了测试这种方法,我在Dev环境中执行以下操作。

首先,我创建了现有数据库的备份:

mongodump --dbpath z:\mongodata\db -o c:\mongodb\backup --journal

然后,我可以使用:

恢复它(或者,基本上从备份中“复制”它)
mongorestore --dbpath c:\mongodb\data c:\mongodb\backup

但是,我注意到原始数据库( z:\ mongodata \ db )除了命名空间文件外还包含.0, .1文件。

enter image description here

恢复的数据库仅包含.0和.ns文件,并且不包含.1文件:

enter image description here

我理解这些是Mongod使用的“数据文件”,它们是created to a pre-allocated size,但我不明白为什么恢复的版本不包含所有的文件原始版本包含。

我怀疑Mongo默认创建了.0和.1,但是根本不需要或使用.1,而mongorestore能够从BSON数据中识别出这个,并创建了恢复版本省略了.1,这是不需要的。

我是否在正确的轨道上?或者我应该担心mongorestore不保留.1文件吗?

0 个答案:

没有答案