用mongodb恢复转储失败

时间:2011-10-24 08:41:47

标签: mongodb

我使用以下mongodump命令行转储了一个mongodb数据库

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

我正在尝试恢复本地服务器上的转储:

mongorestore -h localhost -d mydb dump.bson  

不幸的是,它失败并出现以下错误:

assertion: 10264 invalid object size: 1096040772 

有谁知道可能导致此错误的原因是什么? 在两台服务器上,mongo的版本是1.8.3

由于

5 个答案:

答案 0 :(得分:6)

请原谅我的英语:当我用mongoexport导出并尝试使用mongorestore导入时,这发生在我身上:D我的错误!我不得不使用mongoimport。 请记住:mongoexport / mongoimport和mongodump / mongorestore

我希望这对某些人有用:P

答案 1 :(得分:6)

因为mongodump的第一个字符串输出是“db level locking enabled:0”

你需要这样做

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

答案 2 :(得分:1)

我也遇到过这个问题。最后我发现这个问题是由于错误地使用mongodump命令引起的。

答案 3 :(得分:0)

好好使用mongo restore而不是mongodump

答案 4 :(得分: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>

它在几秒钟内导入。我确信还有其他方法/选项,但这对我有用。