2015-04-01 172 views
7

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

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

mongorestore /家庭/ somename /备份/分期/蒙戈

2015-04-01T12:12:32.886 + 0200建筑DBS和收藏列表,以便恢复/ home/somename /备份/分期/蒙戈DIR

2015-04-01T12:12:32.896 + 0200假设用户在转储目录是从< = 2.4(AUTH版本1)

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

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

任何帮助将通过移动admin目录出来的转储文件夹的大加赞赏

+0

我们是软件开发者,而不是数据库管理员。我提名您的问题迁移到https://dba.stackexchange.com – Philipp 2015-04-01 10:58:07

回答

11

可以解决这个问题,然后重新运行mongorestore命令。

例如,如果你跑

mongorestore --dir ~/path/to/mongodumpdir 

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

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

当然,从旧的MongoDB用户将无法在新的数据库,但您可以随时手动添加它们放回

2

尝试在CLI命令添加认证数据库: --authenticationDatabase管理员