小小最近接触了MongoDB,所以这里开始学习MongoDB,之用户管理模块的相关内容。
进入MongoDB的Shell
这里输入如下的命令,进入MongoDB的shell
1
|
mongo |
切换数据库
1
|
use admin |
使用如上的命令,切换数据库到admin数据库。
创建超级管理员用户
创建超级管理员权限的用户
1
2
3
4
5
6
7
|
db.createUser( { user: "admin" , customData:{description: "superuser" }, pwd : "admin" , roles: [ { role: "userAdminAnyDatabase" , db: "admin" } ] } ) |
其中各个字段解释如下
- user字段: 新用户的名字。
- pwd 字段 用户的密码
- cusomData 字段,任意内容,可以是用户名的全民介绍。
- roles 字段 指定用户的角色,用于给一个空数组,给新用户设定空的角色,在roles字段,可以指定设置相关的角色。
- db 数据库的名字,用于管理数据库。
创建超级用户
这里创建一个超级用户,用于管理全部用户的权限
1
2
3
4
5
6
7
|
db.createUser( { user: "root" , pwd : "pwd" , roles:[ "root" ] } ) |
创建一个业务数据库的管理员的用户
这个用户专门负责一个或者几个数据库的增删查改。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
> 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
这样就完成了一个最基本的数据库管理角色的创建。
查看和创建用户
使用如下的命令,进行查看和创建用户
1
|
show users |
使用该命令可以实现对用户的查看和创建用户。
修改密码
1
2
|
use admin db.changeUserPassword( "username" , "xxx" ) |
使用该命令,可以实现对密码的修改。
修改密码和用户信息
1
2
3
4
5
6
7
|
db.runCommand( { updateUser: "username" , pwd : "xxx" , customData:{title: "xxx" } } ) |
删除数据库用户
1
2
|
use admin db.dropUser( 'user001' ) |
创建其他数据库管理员
1
2
3
4
5
6
|
// 登录管理员用户 use admin db.auth( 'admin' , 'admin' ) // 切换至db001数据库 use db001 // ... 増查改删该数据库专有用户 |
核心,启用权限验证
权限设定完成以后,需要输入如下的命令,用于启用权限验证。
1
|
mongo --auth |
所有的修改,都需要重写启动mongodb
所有的修改,都需要重写启动mongodb,才可以生效
1
2
|
net stop mongodb; net start mongodb; |
以上就是MongoDB 用户管理的详细内容,更多关于MongoDB 用户管理的资料请关注服务器之家其它相关文章!
原文链接:https://www.iming.info/2020/08/07/%E6%96%B0%E7%9F%A5-mongodb-%E8%B4%A6%E5%8F%B7%E7%AE%A1%E7%90%86/?utm_source=tuicool&utm_medium=referral