2011-10-24 106 views
5

我甩了MongoDB数据库具有以下mongodump命令行恢复与MongoDB中转储

mongodump -h www.myhost.com -u myusername -p mypassword -d mydb > dump.bson 

而且我想恢复我的本地服务器上的转储失败不幸的是失败,出现以下错误:

assertion: 10264 invalid object size: 1096040772 

有谁知道可能会导致这个错误?
在两台服务器上蒙戈的版本是1.8.3

感谢

+0

都是32/64位系统吗?倾倒前可能还会帮助修复原始数据库。 – zulkamal

+0

本地服务器是64位,但远程,我不知道实际上。否则,我试过repairDatabase()但是同样的错误... – PierrOz

+0

如果它们是相同的位,那么最好在mongodb邮件列表上询问。我曾经在一个小集合上发生过这个错误,而修复这个伎俩。 – zulkamal

回答

6

因为从mongodump第一串输出为 “启用分贝级锁:0”

您需要要做到这一点

 
tail -n+2 dump.bson > dump_fix.bson 
mongorestore -h localhost -d mydb dump_fix.bson 
+0

有趣!我会试试看,这个提示 – PierrOz

+0

在新版本的mongo(2.1稳定版)中,这个必须修复。见https://github.com/mongodb/mongo/pull/204 – azat

+0

为我工作!谢谢! – jsh

6

原谅我的英语:P这发生在我身上时,我做了mongoexport出口并尝试与mongorestore导入:d我的错!我不得不使用mongoimport。 记住:mongoexport/mongoimport和mongodump/mongorestore

我希望这是有用的一些一个:P

+0

这是我今晚的错误! –

1

我也遇到过这个问题。最后我发现这个问题是由于使用了mongodump命令而导致的。

+0

Hi @zwalker。这可能是一个好主意,告诉我们哪个命令,你做了什么来修复它:) –

+0

我会同意wutg @TarynEast。 –

0

以及使用蒙戈恢复,而不是mongodump

0

这不是很好的解释的任何地方,我发现,但我发现,工作的解决方案。

我从mongolab下载了一个.tgz文件,其中包含.bson和.json文件。 我在我的Mac上创建了〜/ dump文件夹。 我将所有这些.bson和.json文件复制到〜/ dump文件夹,因此我有〜/ dump/users.bson例如。

我跑在终端的命令:

mongorestore -h 127.0.0.1 -db <the_db_name_on_server_this_backup_is_from> 

它汇入秒。我相信还有其他的方式/选择,但这对我来说是有效的。