MongoDB常用命令

> show dbs                  #显示数据库列表
> show collections        #显示当前数据库中的集合(类似关系数据库中的表)
> show users               #显示用户
> use <db name>        #切换当前数据库,如果数据库不存在则创建数据库。
> db.help()                 #显示数据库操作命令,里面有很多的命令
> db.foo.help()            #显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
> db.foo.find()            #对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
> db.foo.find({a: 1})   #对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1
> db.dropDatabase()   #删除当前使用数据库
> db.cloneDatabase("127.0.0.1")                            #将指定机器上的数据库的数据克隆到当前数据库
> db.copyDatabase("mydb", "temp", "127.0.0.1")    #将本机的mydb的数据复制到temp数据库中
> db.repairDatabase() #修复当前数据库
> db.getName()          #查看当前使用的数据库,也可以直接用db
> db.stats()                #显示当前db状态
> db.version()            #当前db版本
> db.getMongo()        #查看当前db的链接机器地址
> db.serverStatus()    #查看数据库服务器的状态

1、添加管理员账号

> use admin
> db.createUser({user: "admin", pwd: "admin", roles: ["root"]})
> db.createUser({user: "admin", pwd: "admin", roles: [{role: "userAdminAnyDatabase", db: "admin"}]})

2、添加普通用户(假定数据库名是test)

> use test
> db.createUser({user: "test", pwd: "test", roles: [{role: "readWrite", db: "test"}]})

role(角色)

简要说

数据库用户角色(DB User Roles)

read readWrite

为某个数据库创建一个用户, 分配该数据库的读写权力

数据库管理员角色(DB Admin Roles)

dbAdmin  dbOwner  userAdmin

拥有创建数据库, 和创建用户的权力

集群管理角色(Culster Administration Roles)

clusterAdmin  clusterManager  clusterMonitor  hostManager

管理员组, 针对整个系统进行管理

备份还原角色(Backup and Restoration Roles)

backup  restore

备份数据库, 还原数据库

所有数据库角色(All-Database Roles)

readAnyDatabase  readWriteAnyDatabase  userAdminAnyDatabase  dbAdminAnyDatabase

拥有对admin操作的权限

Superuser Roles(超级管理员)

root

dbOwner userAdmin userAdminAnyDatabase这几个角色角色提供了任何数据任何用户的任何权限的能力,拥有这个角色的用户可以在任何数据库上定义它们自己的权限

3、删除用户

> db.dropUser('admin')

4、开启权限验证

在mongod.conf中的 security 节点中添加

security:
  authorization: enabled

并重启mongod服务

如果从命令行启动数据库需加 --auth 参数

# mongod --auth

命令行使用开启用户权限的数据库

> use test
> db.auth('test', 'test')
1
> show collections

使用mongoose链接开启用户权限的数据库

1、使用mongoose.connect和mongoose.createConnection

db = mongoose.createConnection('mongodb://test:test@localhost:27017/test');

2、使用Connection#open

db.open('localhost', 'test', 27017, {user:'test', pass:'test'});

注意:如果链接有用户权限的数据库,port端口号是必须的,哪怕是默认的27017。

为mongoDB加用户权限管理的更多相关文章

  1. MongoDB的用户权限管理

    1.创建用户并授权语法:db.createUser({user:"UserName",pwd:"Password",roles:[{role:"Rol ...

  2. 如何对MongoDB 3.2.7进行用户权限管理配置

    转自:https://www.jianshu.com/p/a4e94bb8a052 上次写了一篇在CentOS7上源码安装MongoDB 3.2.7,完成了MongoDB 3.2.7的安装,但需要应用 ...

  3. ClickHouse学习系列之二【用户权限管理】

    背景 最近花了些时间看了下ClickHouse文档,发现它在OLAP方面表现很优异,而且相对也比较轻量和简单,所以准备入门了解下该数据库系统.在安装完之后首先做的应该如何设置用户密码以及权限控制.因为 ...

  4. MongoDB学习笔记—权限管理

    1.MongoDB权限介绍 a 上篇文章中,我们在Linux下配置了MongoDB环境并且将其设置为服务随机器启动而启动,那么接下来这篇文章我们就来简单说一下MongoDB下对登录用户权限的管理. b ...

  5. Linux 服务器用户权限管理改造方案与实施项目

    Linux 服务器用户权限管理改造方案与实施项目 在了解公司业务流程后,提出权限整改方案改进公司超级权限root泛滥的现状. 我首先撰写方案后,给boss看,取得boss的支持后,召集大家开会讨论. ...

  6. PostgreSQL学习之【用户权限管理】说明

    背景 最近在学习PostgreSQL,看了用户权限管理文档,涉及到的知识点比较多,顺便写篇文章进行整理并不定时更新,也方便自己后续进行查阅. 说明 注意:创建好用户(角色)之后需要连接的话,还需要修改 ...

  7. Mysql数据库用户及用户权限管理,Navicat设置用户权限

    Mysql数据库用户及用户权限管理,Navicat设置用户权限 一.Mysql数据库的权限 1.1 mysql数据库用户权限级别 1.2 mysql数据库用户权限 1.3 存放用户权限表的说明 二.用 ...

  8. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  9. django 基于proxy实现用户权限管理

    项目中经常会遇到用户权限管理的问题,django adminsite已经提供非常实用的用户权限管理机制.不过有些时候,我们希望根据相关用户属性来过滤adminsite中显示的内容.下文将结束如何实现: ...

随机推荐

  1. 【机器学习】使用CNN神经网络实现对图片分类识别及模型转换

    仅做记录,后面慢慢整理 训练函数: from skimage import io, transform # skimage模块下的io transform(图像的形变与缩放)模块 import glo ...

  2. LOJ #2831. 「JOISC 2018 Day 1」道路建设 线段树+Link-cut-tree

    用 LCT 维护颜色相同连通块,然后在线段树上查一下逆序对个数就可以了. code: #include <cstdio> #include <algorithm> #inclu ...

  3. javaweb利用javabean将数据库中内容遍历在页面输出

    效果如下图 它所实现的就是把数据库中一个表中所有的数据一条一条以表格的形式输出在网页上, 实现方法如下 首先我们要从数据库读取数据,这里要借助javabean来方便我们传递数据 以上面的为例,我要输出 ...

  4. Minion 主机同步失败问题,全过程

    如果出现以下状态 token也有了 这个是salt-api  说明你salt-api没问题 点击同步主机 查看你产品线管理那里,添加了你这个salt-api没? 配置参考文档 https://gith ...

  5. py 二级习题(重新输出文本-----每行一句话)

    #需要的一小段文本 txt = "人生得意须尽欢,莫使金樽空对月.天生我才必有用,千金散尽还复来." #对文本进行分割,转换成列表形式 def txt_split(txt): li ...

  6. window服务session隔离

    在window服务中抓取窗体是做不到的,因为window系统的session隔离机制:如果想要调用外部程序,可以通过 创建代理进程 进行操作(通过非托管代码CreateProcessAsUser函数进 ...

  7. BZOJ4668 冷战(LCT维护最小生成树)

    BZOJ4668 冷战(LCT维护最小生成树) 题面 自己找去 HINT 这道题就是动态加边,然后查询u,v两点最早什么时候联通,强制在线.思考一下,最早什么时候联通不就等同于维护最小生成树吗(把这条 ...

  8. Netty中CompositeByteBuf的理解以及读写操作

    转载请注明出处 https://www.cnblogs.com/majianming/articles/the_composite_byte_buf_read_and_wite_operation_o ...

  9. 使用Beautiful Soup爬取猫眼TOP100的电影信息

    使用Beautiful Soup爬取猫眼TOP100的电影信息,将排名.图片.电影名称.演员.时间.评分等信息,提取的结果以文件形式保存下来. import time import json impo ...

  10. jQuery---淘宝精品案例

    淘宝精品案例 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...