我想将 mongodb 升级到 3.2,但是当我尝试升级到 2.6 时,我已经收到错误
我做什么:
- 我有一个测试虚拟机,其中包含从生产服务器恢复的转储数据库。
- 我下载了 mongodb 2.6 并解压。
- 我从
/tmp/mongodb-linux-x86_64-2.6.11/bin/mongo
运行 mongo 在控制台 mongodb 中运行use admin db.upgradeCheckAllDBs()
没有问题(我认为),我从 mongo 收到消息:
Everything is ready for the upgrade!
true
- 当我退出 mongo 并再次运行时
/tmp/mongodb-linux-x86_64-2.6.11/bin/mongo
并运行命令:res = db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1 }); print(tojson(res));
但是我得到了错误:
res = db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1 });
{
"ok" : 0,
"errmsg" : "no such cmd: authSchemaUpgrade",
"bad cmd" : {
"authSchemaUpgrade" : 1
}
}
print(tojson(res));
{
"ok" : 0,
"errmsg" : "no such cmd: authSchemaUpgrade",
"bad cmd" : {
"authSchemaUpgrade" : 1
}
}
我使用的数据库没有什么不同。我做错了什么?
最佳答案
要解决此问题,您需要做一件事: 执行此操作后:
- I run mongo from /tmp/mongodb-linux-x86_64-2.6.11/bin/mongo In console mongodb run use admin db.upgradeCheckAllDBs()
您应该停止mongod以前的版本,然后运行2.6版本的mongod。 之后您可以执行 authSchemaUpgrade
关于linux - 将 mongo 2.4 更新到 2.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179063/