数据库 mongodb 导出导入数据不一致

tim_lang · 2014年05月05日 · 最后由 hging 回复于 2014年05月05日 · 3960 次阅读

在数据库 A 用 show dbs 发现是 25.3G 的数据,然后用 mongodump dump 出来。

到数据库 B 用 mongorestore 导入进去,再使用 show dbs 发现只有 23.5G。

也不知道数据有没有丢,查看了下数据的总数是对的,求解。

在 A 里面 repair 一下,就一样了

之前 B 里是不是有数据?恢复的时候 mongodb 好像是增量恢复。后面跟上参数--drop 可以清空原来的数据然后再导入的样子。

应该是这样。之前在 a 库,数据很多,撑到了 25.3g。然后呢,又 delete 过了,但是 mongo 的设计逻辑,这个文件应该是不会减小的。(你可以试下在 a 库或者 b 库,delete 所有数据,可能 show dbs 会发现,还是 20 多 g。好像是这样,我有的忘了。。。) 然后你数据重新导入到 b 库,数据就真的只占了 23.5g,所以就是 23.5g(其实不一定数据真的有 23.5g,monogo 的磁盘空间应该是预分配的,好像是指数级增长的) 结果就是,你数据总数对就好了。。。

#2 楼 @hging 我 restore 时候用-drop 的。

#3 楼 @mahone3297 总数确实没问题,问题是我就怕数据有问题,毕竟 A 库的数据是到了 test.16,而到了 B 数据库只有 test.15 了,所以有点不放心啊。。

#5 楼 @Tim_Lang 额。那九完全不晓得了。嘿嘿嘿。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号