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;

以上就是MongoDB 用户管理的详细内容,更多关于MongoDB 用户管理的资料请关注我们其它相关文章!

(0)

相关推荐

  • MongoDB快速入门笔记(七)MongoDB的用户管理操作

    MongoDB 简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 1.修改启动MongoDB时要求用户验证 加参数 --auth 即可. 现在我们把MongoDB服务删除,再重新添加服务 复制代码 代码如下: mongod --dbpath "D:\work\MongoDB\data" --

  • mongodb基础之用户权限管理实例教程

    前言 本文主要介绍了mongodb用户权限管理的相关内容,关于接着上次实践的部分,下面话不多说了,来一起看看详细的介绍吧 启动mongodb并连接 ./bin/mongod -f conf/mongod.conf ./bin/mongo 127.0.0.1:12345 查看默认的数据库情况 > show dbs admin 0.000GB local 0.000GB > use admin switched to db admin > show tables system.version

  • mongodb权限设置之添加管理员、普通用户的方法

    我知道的关系型数据库都是有权限控制的,什么用户能访问什么库,什么表,什么用户可以插入,更新,而有的用户只有读取权限. 例如:mysql安装配置好后,有一个自带的mysql数据库,里面有一张user表,用来存放用户,以及用户权限,而mongodb这个最像关系型的数据库,有没有这样的表呢. 一.掌握权限,理解下面4条基本上就差不多 1.mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证.2.切换到admin数据库,添加的账号才是管理员账号.3.用户只能在用户所在数据库登录,包

  • 浅析MongoDB用户管理

    1. 创建一个超级用户 use admin db.createUser( { user: "adminUserName", pwd: "userPassword", roles: [ { roles: "userAdminAnyDatabase", db: "admin" } ] } ) 超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问). db是指定数

  • MongoDB 用户管理

    小小最近接触了MongoDB,所以这里开始学习MongoDB,之用户管理模块的相关内容. 进入MongoDB的Shell 这里输入如下的命令,进入MongoDB的shell mongo 切换数据库 use admin 使用如上的命令,切换数据库到admin数据库. 创建超级管理员用户 创建超级管理员权限的用户 db.createUser( { user: "admin", customData:{description:"superuser"}, pwd: &quo

  • MongoDB 用户相关操作

    在我们第一次启动MongoDB的时候,仅仅是制定了data数据目录和log日志目录,并没有指定--auth选项,也就是并不需要认证. [root@VM-0-14-centos mongo_27017]# mongo MongoDB shell version v4.0.6 connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb Implicit session: session { "id" : UUID(

  • Linux帮助和用户管理命令

    上篇文章我们介绍了Linux文件搜索命令,其中find是用的最多的也是功能最强大的文件或目录搜索命令,和另一个搜索命令locate的区别是,find命令是全盘搜索,刚创建的文件也能搜索的到,而locate是在文件资料库中进行搜索,对比find命令搜索速度快很多,但是新创建的文件如果没有收录到文件资料库中,使用locate命令是搜索不到的,再就是/tmp目录是不收录到文件资料库的,也就是说使用locate命令搜索不到在/tmp目录下的文件.然后我们介绍搜索命令所在的目录以及别名信息which,搜索

  • ExtJS GTGrid 简单用户管理

    部分源码: 复制代码 代码如下: <%@ page language="java" pageEncoding="GBK"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <c:set var="ctx" value="${pageContext.request.contextPath}&

  • asp.net微信开发(已关注用户管理)

    公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成.一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求. 接口调用请求说明 http请求方式: GET(请使用https协议) 返回说明 正确时返回JSON数据包: 错误时返回JSON数据包(示例为无效AppID错误): {"errcode":40013,"errmsg":"invalid

  • C#实现判断当前操作用户管理角色的方法

    本文实例讲述了C#实现判断当前操作用户管理角色的方法.分享给大家供大家参考.具体实现方法如下: /// <summary> /// 判断当前操作用户的管理角色 /// </summary> public static void GetCurrentUserRole() { AppDomain appDomain = System.Threading.Thread.GetDomain(); appDomain.SetPrincipalPolicy(System.Security.Pr

  • mysql命令行下用户管理方法分享

    mysql安装后好,会有一个名字为mysql的数据库,存放用户的表是user,mysql数据库的用户管理就是围绕这个表展开的,当然还有一些表,例如:tables_priv,procs_priv,clumns_priv,information_schema数据库里面的USER_PRIVILEGES等. 如果有mysql管理工具phpmyadmin的话,我们可以通过图形画界面来对用户进行管理,但是如果没有phpmyadmin这样的管理工具怎么办呢?这个时候,我们可以通过命令行执行sql语句来管理my

  • 用户管理的设计_jquery的ajax实现二级联动效果

    页面效果 实现步骤 1.引入struts整合json的插件包 2.页面使用jquery的ajax调用二级联动的js //ajax的二级联动,使用选择的所属单位,查询该所属单位下对应的单位名称列表 function findJctUnit(o){ //货物所属单位的文本内容 var jct = $(o).find("option:selected").text(); $.post("elecUserAction_findJctUnit.do",{"jctID

随机推荐