【问题标题】:restoring a dump with mongodb fails使用 mongodb 恢复转储失败
【发布时间】:2014-05-29 00:32:21
【问题描述】:

我已经使用以下 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

谢谢

【问题讨论】:

  • 都是 32/64 位系统吗?也可能有助于在转储之前先修复原始数据库。
  • 本地服务器是 64 位的,但是远程的,我还不知道。否则,我尝试了 repairDatabase() 但仍然出现同样的错误...
  • 如果它们是相同的位,那么最好在 mongodb 邮件列表中询问。我曾经在一个小收藏中遇到过这个错误,修复就成功了。

标签: mongodb


【解决方案1】:

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

你需要这样做

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

【讨论】:

【解决方案2】:

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

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

【讨论】:

  • 这也是我今晚的错误!
【解决方案3】:

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

【讨论】:

  • 嗨@zwalker。告诉我们哪个命令以及你做了什么来修复它可能是个好主意:)
  • 我同意 wutg @TarynEast。
【解决方案4】:

用 mongo restore 代替 mongodump

【讨论】:

    【解决方案5】:

    这在我找到的任何地方都没有得到很好的解释,但我找到了一个可行的解决方案。

    我从 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>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-05
      • 2019-06-27
      • 2015-09-01
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多