【问题标题】:MongoDB Restore FailedMongoDB 恢复失败
【发布时间】:2015-06-05 22:59:11
【问题描述】:

我正在尝试从 Ubuntu 14.04.2 中的转储中恢复 mongodb 数据库,该转储是在 MongoDB shell 版本:2.4.13 上创建的,我正在恢复 MongoDB shell 版本:3.0.1。

这是我正在运行的命令和我得到的错误。

mongorestore /home/somename/backups/staging/mongo

2015-04-01T12:12:32.886+0200 构建要从 /home/somename/backups/staging/mongo 目录恢复的数据库和集合列表

2015-04-01T12:12:32.896+0200 假设转储目录中的用户来自

2015-04-01T12:12:32.896+0200 失败:转储中的用户和角色集合与目标服务器的身份验证版本不兼容:无法将身份验证版本 1 的用户恢复到身份验证版本 5 的服务器

有没有办法解决它或修复它?

任何帮助将不胜感激

【问题讨论】:

  • 我们是软件开发人员,而不是数据库管理员。我提名你的问题迁移到dba.stackexchange.com

标签: mongodb mongorestore


【解决方案1】:

尝试添加--authenticationMechanism SCRAM-SHA-1

参考文档: https://docs.mongodb.com/manual/reference/program/mongorestore/#cmdoption--authenticationMechanism

【讨论】:

    【解决方案2】:

    尝试在 CLI 命令中添加身份验证数据库: --authentication数据库管理员

    【讨论】:

      【解决方案3】:

      您可以通过将admin 目录移出转储文件夹,然后重新运行 mongorestore 命令来解决此问题。

      例如,如果你跑了

      mongorestore --dir ~/path/to/mongodumpdir
      

      它失败了,那么你很可能在那里有一个admin 文件夹。您可以将其移出,然后重新运行上面的命令。

      我相信,特别是 system.users.bson 导致了问题。由于 mongo 2.x.x3.x.x 添加和存储用户的方式不同。

      当然,旧 mongodb 中的用户在新数据库中将不可用,但您始终可以手动将它们重新添加。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-22
        • 2012-12-30
        • 2016-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多