尝试在新的 MongoDB 2.6.8 安装上创建管理员用户时出现此错误。我的机器正在运行Ubuntu 14.04。
MongoDB shell version: 2.6.8
connecting to: test
> use admin
switched to db admin
> db.createUser(
{
user: "user",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
错误:无法添加用户:用户和角色管理命令需要 auth数据有架构版本3但在5处找到 SRC /蒙戈/壳/ db.js:1054
我之前安装了MongoDB 3.0.1,因为它与我使用的其他软件不兼容而删除了它。我在MongoDB上执行sudo apt-get purge
以删除所有配置文件,然后再安装2.6.8。
我试过这个,但似乎我需要降级功能:
> db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 3 })
{
"ok" : 0,
"errmsg" : "Do not know how to upgrade auth schema from version 5",
"code" : 69
}
你能帮帮我吗?为什么会这样?
答案 0 :(得分:2)
我通过清除MongoDB使其工作:
sudo apt-get purge mongodb-org mongodb-org-*
然后删除此文件夹中的内容,它包含所有数据库:
sudo rm -fr /var/lib/mongodb/
之后我再次安装 2.6.8 ,我就可以添加新用户了。因此,似乎清除不会删除降级所需的所有文件。
MongoDB shell version: 2.6.8
connecting to: test
> use admin
switched to db admin
> db.createUser(
{
user: "user",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Successfully added user: {
"user" : "user",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}