###环境:MongoDB 3.4
我想在我的Linux机器上设置我的复制集。
- 首先,我只需安装MongoDB
,然后从mongod
修改/etc/mongod.conf
的配置,以通过添加
security:
authorization: enabled
到文件。
然后我将我的帐户创建到数据库admin
:
db.createUser(
{
user: "admin",
pwd: "admin",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
- 然后我通过添加
将我的复制配置再次添加到/etc/mongod.conf
replication:
replSetName: "rs0"
然后我使用mongod
$ service mongod restart
我发起mongo
(这里的一切都很顺利。)
(在蒙戈)
>use admin
>db.auth("admin", "admin")
1
我似乎在这里通过授权。但是当我尝试通过>rs.status()
问题来了:
> rs.status()
{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command {
replSetGetStatus: 1.0 }",
"code" : 13,
"codeName" : "Unauthorized"
}
我不知道发生了什么。授权是否仅适用于admin
?但我的用户角色是userAdminAnyDatabase
。