Mongodb mongorestore问题:无法将架构版本为1的用户还原到服务器版本为2.5.4或更高版本的系统
我有一个在Mongo2.4.8上运行的mongodb生产数据库,我想升级到2.6.x 我们希望这样做的方式是首先使用Mongodb mongorestore问题:无法将架构版本为1的用户还原到服务器版本为2.5.4或更高版本的系统,mongodb,migration,mongorestore,Mongodb,Migration,Mongorestore,我有一个在Mongo2.4.8上运行的mongodb生产数据库,我想升级到2.6.x 我们希望这样做的方式是首先使用mongorestore将数据加载到另一台运行2.6.3的服务器。但是,当运行mongorestore命令时,我们会出现以下错误: Cannot restore users with schema version 1 to a system with server version 2.5.4 or greater 我找不到任何与这个问题相关的东西,也不知道该怎么办。如果有必要,数
mongorestore
将数据加载到另一台运行2.6.3的服务器。但是,当运行mongorestore
命令时,我们会出现以下错误:
Cannot restore users with schema version 1 to a system with server version 2.5.4 or greater
我找不到任何与这个问题相关的东西,也不知道该怎么办。如果有必要,数据库本身不是用Mongo2.4.x从头开始创建的,而是用以前的版本创建的
我能做什么?除了使用mongorestore,还有其他方法吗
提前感谢您的帮助…我可以想到三种方法:
我可以想到三种方法:
使用2.4
mongodump
升级用户模式有两种方法
1) 恢复到MongoDB 2.4,然后升级到2.6
这是正常的。与其尝试mongorestore
将2.4备份直接升级到2.6,不如将其还原到2.4实例,然后升级到2.6
建议在升级之前,通过2.6mongo
shell运行。这将检查由于MongoDB 2.6中的更改而导致的任何潜在问题。例如,2.6实现了更强的索引字段定义和键长度限制的强制执行
2) 使用2.4mongorestore
还原到MongoDB 2.6,然后升级用户架构
这种方法需要MongoDB 2.4版本的mongorestore
- 在未启用身份验证的情况下启动MongoDB 2.6
mongod
使用2.4版的mongorestore
mongorestore
- 在2.6
shell中运行:mongo
db.adminCommand({authSchemaUpgrade: 1 });
- 在启用身份验证的情况下重新启动2.6
mongod
mongodump
升级用户模式有两种方法
1) 恢复到MongoDB 2.4,然后升级到2.6
这是正常的。与其尝试mongorestore
将2.4备份直接升级到2.6,不如将其还原到2.4实例,然后升级到2.6
建议在升级之前,通过2.6mongo
shell运行。这将检查由于MongoDB 2.6中的更改而导致的任何潜在问题。例如,2.6实现了更强的索引字段定义和键长度限制的强制执行
2) 使用2.4mongorestore
还原到MongoDB 2.6,然后升级用户架构
这种方法需要MongoDB 2.4版本的mongorestore
- 在未启用身份验证的情况下启动MongoDB 2.6
mongod
使用2.4版的mongorestore
mongorestore
- 在2.6
shell中运行:mongo
db.adminCommand({authSchemaUpgrade: 1 });
- 在启用身份验证的情况下重新启动2.6
mongod
mongoexport
对于数据库备份/恢复不是一个推荐的选项,因为它不能可靠地捕获类型信息,不包括索引定义,并且在收集级别上运行。滚动升级确实是常见的方法,但滚动升级和ShapShot并没有回答如何将具有v1用户模式的2.4mongodump
加载到需要v2模式的2.6服务器中的原始问题;-)。嗨,谢谢你的回答。我已经在使用副本集了。我知道,一个接一个地升级成员非常有效。我的问题是