MongoDB -- 3.0用户创建
2016-04-26 16:45
573 查看
3.0版本以前的创建与3.0之后有区别,这里不做详解,大家百度吧!!!
3.0版本以后格式:
先来说说roles,这里我们使用的是内置角色:
内置角色含义
文档参考:
http://blog.csdn.net/chen88358323/article/details/50206651
http://docs.mongoing.com/manual-zh/reference/method/db.createUser.html#db.createUser
角色选择:userAdminAnyDatabase(只在admin数据库中可用,赋予用户所有数据库的userAdmin权限)
在admin数据库下执行:
创建一个student库的读写权限的用用户:
注意:
只能在帐号创建库下认证,再去其他库进行操作。(这里一定要注意)
例如,在admin数据库中创建了student数据库的认证用户,那么只能在admin数据库去进行认证,然后在到student数据库中进行操作,否则会认证失败。
3.0版本以后格式:
db.createUser( { user: "admin", pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
先来说说roles,这里我们使用的是内置角色:
1. 数据库用户角色:read、readWrite; 2. 数据库管理角色:dbAdmin、dbOwner、userAdmin; 3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 4. 备份恢复角色:backup、restore; 5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 6. 超级用户角色:root // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase) 7. 内部角色:__system
内置角色含义
Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限 readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限 userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 root:只在admin数据库中可用。超级账号,超级权限
文档参考:
http://blog.csdn.net/chen88358323/article/details/50206651
http://docs.mongoing.com/manual-zh/reference/method/db.createUser.html#db.createUser
下面开始创建用户
默认情况下MongoDB不开启用户验证规则,如果要开启,需要在mongo.conf增加如下配置#开启用户认证 auth=true
步骤一
启动服务,首先我们要在admin数据库下创建一个管理用户。db.createUser( { user: "admin", pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
角色选择:userAdminAnyDatabase(只在admin数据库中可用,赋予用户所有数据库的userAdmin权限)
步骤二
之后在admin数据库下就可以使用:(注意:进行此操作必须完成步骤一)在admin数据库下执行:
db.auth('admin','admin')
创建一个student库的读写权限的用用户:
use student
db.createUser( { user: "gaopeng", pwd: "gaopeng", roles: [ { role: "readWrite", db: "school" } ] } )
注意:
只能在帐号创建库下认证,再去其他库进行操作。(这里一定要注意)
例如,在admin数据库中创建了student数据库的认证用户,那么只能在admin数据库去进行认证,然后在到student数据库中进行操作,否则会认证失败。
相关文章推荐
- Centos7 系统下node.js+Nginx+MongoDB的安装与配置
- Mongodb之备份恢复脚本
- MongoDB的网页客户端RockMongo
- mongodb 日期类型
- Mongodb 3.2.1检查表是否为capped
- MongoDB 常用操作
- 8天学通MongoDB——第二天 细说增删查改
- 8天学通MongoDB——第一天 基础入门
- 详解log4j2(下) - Async/MongoDB/Flume Appender 按日志级别区分文件输出
- MongoDB 分页查询的方法及性能
- 【MongoDB】常用知识点
- 【MongoDB】chunk too big to move的解决方案
- 浅谈Mongodb性能优化
- MongoDB3.2中与DB数据库操作相关常用方法介绍
- spring + mongodb 整合 Nosql mongodb 数据库配置文件
- 搭建一个Mongodb (Windows) 版本
- java中MongoDB的分页实现
- 开发高性能的MongoDB应用—浅谈MongoDB性能优化
- mongoDB服务启动
- linux下配置安装mongodb