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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐