我正在学习MongoDB,并且希望为数据库设置用户名和密码。我首先创建了一个管理员用户,并启动了认证功能。以下是我创建的用户:
db.getUser("admin")
{
"_id" : "admin.admin",
"user" : "admin",
"db" : "admin",
"roles" : [
{
"role" : "dbAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "clusterAdmin",
"db" : "admin"
}
] }
}
接下来,我尝试使用以下命令创建用户:
use newdb
db.createUser(
{
user: "newuser",
pwd: "12345678",
roles: [ { role: "readWrite", db: "newdb" } ]
}
)
但是我遇到了这个错误:
错误:无法添加用户:未经授权在newdb上执行命令{ createUser:“newuser”,pwd:“xxx”,roles:[{role:“readWrite”,db: “newdb”}],digestPassword:false,writeConcern:{w:“majority”, wtimeout:30000.0}}在src/mongo/shell/db.js:1004
我已经搜索了一下,但只有两个结果,一个是中文的,另一个与此无关,所以我有点迷茫。你有任何想法吗?看起来我的管理员用户没有特权,我使用以下命令访问mongodb:
$mongo --port 27017 -u adminUser -p adminPass --authenticationDatabase admin
提前感谢。
userAdmin
/userAdminAnyDatabase
角色。dbAdminAnyDatabase
和clusterAdmin
不包括用户管理权限。 - wdberkeley