执行mongostat命令查看出现using mechanism “SCRAM-SHA-1“: (AuthenticationFailed) Authentication failed.
·
mongostat命令:/usr/bin/mongostat -u adminUser -p adminPass --host 127.0.0.1 --port 27017 -n 1 --noheaders --authenticationDatabase=admin| tail -n 1
首先出现这个Authentication failed,肯定是mongodb配置里开启了权限认证,这里需要检查adminUser用户是否有访问admin数据库的权限
./mongo
use admin
#认证用户
db.auth("root","123456")
#查看所有用户(及用户权限)
db.getUsers()
#查看指定用户及其权限
#db.getUser("userTest")
若在admin数据库下没有找到指定的用户,说明该用户没有访问admin库的权限,需要重新创建一个有权限的用户
./mongo
use admin
db.auth("root","123456")
#创建用户,并赋予超级管理员root的权限
db.createUser({
user : 'user5',
pwd : '123456',
roles : [
'root'
]
});
也可以采用如下方式:
./mongo
use admin
db.auth("root","123456")
#创建角色
db.createRole(
{
role: "mongostatRole",
privileges: [
{
resource: { cluster: true },
actions: [ "serverStatus" ]
}
],
roles: []
}
)
# 创建拥有该角色的用户
db.createUser(
{
user : "user6" ,
pwd: "123456" ,
roles: [ { role: "mongostatRole3" , db: "admin" } ]
}
)
如果mongo是以集群模式启动的,可以这样创建用户
./mongo
use admin
db.auth("root","123456")
db.createUser({
user : 'user6',
pwd : '123456',
roles : [
'clusterAdmin'
]
});
最后执行mongostat命令
mongostat -u user6 -p 123456 --host 127.0.0.1 --port 27017 -n 1 --noheaders --authenticationDatabase admin| tail -n 1
更多推荐
所有评论(0)