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. python——面向对象,继承

    """继承:子类继承父类1.单继承,多继承2. 子类调用或重用父类的同名属性和方法3. 多层4.私有属性和私有方法class 类名(object<父类>)&q ...

  2. 【算法】——递归:小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方式。

    分析:从最后一步分析,能有的情况有三种情况构成,写出如图所示的方程 //和斐波拉契相似 int void f(int n) { //考虑出口 ) ;//正常思路是返回0 ) ;//通过自己想可以得出只 ...

  3. qt 带箭头的直线 (类似viso)

    2020.02.27 本来上传到CSDN,后来想想,我要放弃csdn了.csdn已经跟我分享的精神背道而驰了.想要代码,留邮箱吧. 近来Qt开发时可能遇到这样的需求:两个(或多个)矩形,要用直线将它们 ...

  4. Wannafly Winter Camp 2020 Day 6I 变大! - dp

    给定一个序列,可以执行 \(k\) 次操作,每次选择连续的三个位置,将他们都变成他们的最大值,最大化 \(\sum a_i\) 需要对每一个 \(k=i\) 输出答案 \(n \leq 50, a_i ...

  5. Spring mvc拦截器防御CSRF攻击

    CSRF(具体参考百度百科) CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSR ...

  6. javaweb 公文流转系统制作

    该系统主要的要求就是实现公文的流转审核,用户有多重类型,在不同用户登录的时候要进入不同的页面,并能执行他们的权限. 用户分四种,普通部门(可以草拟公文并提交),办公室(接受普通部门的公文并编辑,最后提 ...

  7. 常用ES6语法总结

    参考链接:http://es6.ruanyifeng.com/ const 声明一个只读的常量. 改变常量的值会报错.只声明不赋值也会报错.只在声明所在的块级作用域内有效.声明的常量不会提升,只能在声 ...

  8. git客户端的常用命令

    注意:仓库只有管理员建的你才有权限上传,不然自己建的也没用,没权限上传 1.远程仓库路径查询 git remote -v 2.添加远程仓库 git remote add origin <你的项目 ...

  9. 2020牛客寒假算法基础集训营4-I 匹配星星【贪心】

    链接:https://ac.nowcoder.com/acm/contest/3005/I来源:牛客网 示例1 输入 复制 2 1 1 0 2 2 1 2 1 1 0 2 2 1 输出 复制 1 1 ...

  10. 论文阅读笔记(七)【TIP2018】:Video-Based Person Re-Identification by Simultaneously Learning Intra-Video and Inter-Video Distance Metrics

    是由一篇 IJCAI2016 扩的期刊. 该篇会议论文的阅读笔记[传送门] 期刊扩充的部分:P-SI2DL 1.问题描述: 在会议论文中介绍的SI2DL方法采用了视频三元组作为视频关系(是否匹配)的逻 ...