我使用以下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
由于
答案 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>
它在几秒钟内导入。我确信还有其他方法/选项,但这对我有用。