当前位置:首页 >  站长 >  数据库 >  正文

MongoDB 用户管理

 2020-10-16 13:45  来源: 脚本之家   我来投稿 撤稿纠错

  【推荐】海外独服/站群服务器/高防

这篇文章主要介绍了MongoDB 如何对用户管理,帮助大家更好的理解和使用MongoDB数据库,感兴趣的朋友可以了解下。

小小最近接触了MongoDB,所以这里开始学习MongoDB,之用户管理模块的相关内容。

进入MongoDB的Shell

这里输入如下的命令,进入MongoDB的shell

mongo

切换数据库

use admin

使用如上的命令,切换数据库到admin数据库。

创建超级管理员用户

创建超级管理员权限的用户

db.createUser(
 { user: "admin",
  customData:{description:"superuser"},
  pwd: "admin",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
 }
)

其中各个字段解释如下

user字段: 新用户的名字。

pwd 字段 用户的密码

cusomData 字段,任意内容,可以是用户名的全民介绍。

roles 字段 指定用户的角色,用于给一个空数组,给新用户设定空的角色,在roles字段,可以指定设置相关的角色。

db 数据库的名字,用于管理数据库。

创建超级用户

这里创建一个超级用户,用于管理全部用户的权限

db.createUser(
  {
    user:"root",
    pwd:"pwd",
    roles:["root"]
  }
)

 

创建一个业务数据库的管理员的用户

这个用户专门负责一个或者几个数据库的增删查改。

> db.createUser({
  user:"user001",
  pwd:"123456",
  customData:{
    name:'jim',
    email:'jim@qq.com',
    age:18,
  },
  roles:[
    {role:"readWrite",db:"db001"},
    {role:"readWrite",db:"db002"},
    'read'// 对其他数据库有只读权限,对db001、db002是读写权限
  ]
})

 

其中

数据库用户角色,read,readWrite。

数据库管理角色: dbAdmin,dbOwner,userAdmin

集群管理角色: clusterAdmin,clusterManager,clusterMonitor,hostManage。

备份恢复角色: backup,restore。

所有数据库角色: readAnyDatabase。readWriteAnyDatabase,userAdminAnyDatabase,dbAdminAnyDatabase。

超级用户角色: root

内部角色 _system

这样就完成了一个最基本的数据库管理角色的创建。

查看和创建用户

使用如下的命令,进行查看和创建用户

show users

使用该命令可以实现对用户的查看和创建用户。

修改密码

use admin

db.changeUserPassword("username", "xxx")

使用该命令,可以实现对密码的修改。

修改密码和用户信息

db.runCommand(
  {
    updateUser:"username",
    pwd:"xxx",
    customData:{title:"xxx"}
  }
)

删除数据库用户

use admin

db.dropUser('user001')

创建其他数据库管理员

// 登录管理员用户
use admin
db.auth('admin','admin')
// 切换至db001数据库
use db001
// ... 増查改删该数据库专有用户

核心,启用权限验证

权限设定完成以后,需要输入如下的命令,用于启用权限验证。

mongo --auth

所有的修改,都需要重写启动mongodb

所有的修改,都需要重写启动mongodb,才可以生效

net stop mongodb;

net start mongodb;

本文来自脚本之家,原文链接:https://www.jb51.net/article/194582.htm

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关文章

信息推荐