MongoDB安装好了之后,开始学习常用命令

首先,运行MongoDB, 记住,先不用带参数--auth

/usr/local/mongodb/bin/mongod -dbpath=/usr/local/mongodb/data/db --fork --port 27017 --logpath=/usr/local/mongodb/logs/work.log --logappend

用命令查看

ps aux |grep mongo

 如下: 

打开mongo shell(先进入安装的bin目录下)

./mongo

 

输入命令

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

  

创建用户管理员账户

 

管理员创建成功,现在拥有了用户管理员
用户名:admin
密码:admin
然后,断开 mongodb 连接, 关闭数据库 

exit
/usr/local/mongodb/bin/mongod -dbpath=/usr/local/mongodb/data/db --fork --port 27017 --logpath=/usr/local/mongodb/logs/work.log --logappend --shutdown

  

Mongodb 用户验证登陆

启动带访问控制的 Mongodb

/usr/local/mongodb/bin/mongod -dbpath=/usr/local/mongodb/data/db --fork --port 27017 --logpath=/usr/local/mongodb/logs/work.log --logappend --auth

 

 

现在有两种方式进行用户身份的验证

  • 第一种 (类似 MySql)
    客户端连接时,指定用户名,密码,db名称
mongo --port 27017 -u "admin" -p "admin" --authenticationDatabase "admin"

  

  • 第二种
    客户端连接后,再进行验证
mongo --port 27017

use admin
db.auth("admin", "admin")
// 输出 1 表示验证成功

  

创建普通用户

use test

db.createUser(
{
user: "user1",
pwd: "user1",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "foo" } ]
}
)

现在我们有了一个普通用户
用户名:user1
密码:user1
权限:读写数据库 test, 只读数据库 foo。

注意
use test表示用户在 test库中创建,就一定要 test库验证身份,即用户的信息跟随随数据库。比如上述 user1虽然有 foo库的读取权限,但是一定要先在 test库进行身份验证,直接访问会提示验证失败。

内建角色

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限

  

MongoDB 学习笔记 ---创建用户的更多相关文章

  1. mongodb 学习笔记05 --用户管理

    csdn的markdown编辑器真有够烂的,这篇文章又给弄丢了 启用认证 mongod 启动默认没有开启权限,你须要指定 –auth 启动.或者在配置文件里设置security.authorizati ...

  2. MongoDB学习笔记-创建、更新、删除文档

    创建     MongoDB中使用insert方法来向集合插入文档,然后保存到MongoDB中.     db.foo.insert({"hehe":"呵呵"} ...

  3. mysql学习笔记-创建用户以及登录,基本信息查询

    第一天: 创建一个mysql账号:create user ‘新的用户名’@‘localhost’identified by ‘口令’: Now()显示当日日期和时间,user()显示当前的用户,ver ...

  4. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  5. MongoDB学习笔记(1):MongoDB的安装和说明

    MongoDB学习笔记(1):MongoDB的安装和说明 快速开始 下载地址 官网下载: https://www.mongodb.com/download-center?jmp=nav#communi ...

  6. MongoDB 学习笔记(一):安装及简单shell操作

    一.说明 1.该系列MongoDB学习笔记的学习环境采用的MongoDB版本为mongodb-win32-i386-2.4.6,操作系统为win7. 二.安装 1.新建两个目录,分别是D:\Insta ...

  7. MongoDB学习笔记:MongoDB 数据库的命名、设计规范

    MongoDB学习笔记:MongoDB 数据库的命名.设计规范     第一部分,我们先说命名规范. 文档 设计约束 UTF-8 字符 不能包含 \0 字符(空字符),这个字符标识建的结尾 . 和 $ ...

  8. MongoDB学习笔记:快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  9. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

随机推荐

  1. install和cp

    在Makefile里会用到install,其他地方会用cp命令 主要区别: 如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件.这是因为往正在 使 ...

  2. CoreData数据库搭建

    1.首先创建父类吧重用的代码写在里边 #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @inte ...

  3. vue-组件化开发基础

    组件化开发基础.分为三个步骤: 创建组件构造器对象 注册组件 使用组件 <!DOCTYPE html> <html lang="en"> <head& ...

  4. 汇编指令之ADC、SBB、XCHG、MOVS指令

    版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明.2019-08-25,23:52:49作者By-----溺心与沉浮----博客园 介绍完这些基础指令,后面就讲到汇编JCC指令了,我觉得介 ...

  5. bat脚本输出日志

    一,bat脚本常用的的输出命令是“echo 输出内容”,可以利用echo将文本输出到cmd窗口或文件.bat脚本是不区分大小写的脚本语言,因此大小写都可以. 例如: REM 在命令行窗口输出 echo ...

  6. 关于oracle PL/SQL存储过程 PLS-00905 object is invalid,statement ignored问题的解决

    昨天在学习oracle存储过程的时候,写了一个存储过程的demo,语句是这样的: )) AS psssal TESTDELETE.TESTID%TYPE; BEGIN SELECT TESTID IN ...

  7. Scrum 之 product Backlog

    转载:http://www.zhoujingen.cn/blog/2767.html Scrum的基本概念其实并不复杂,但是想做好并不容易,大家都知道product backlog的重要性,但是我们如 ...

  8. springcloud学习之路: (一) 最简单的搭建springcloud的方法

    参考资料: [JavaEE] 五分钟搭建SpringCloud环境, 进入微服务时代 感谢上篇博文大佬带领走进springcloud世界, 本博文主要目的为记录自己学习springcloud的点点滴滴 ...

  9. Codeforces 1278F: Cards

    题目传送门:CF1278F. 题意简述: 有 \(n\) 个独立随机变量 \(x_i\),每个随机变量都有 \(p = 1/m\) 的概率取 \(1\),有 \((1-p)\) 的概率取 \(0\). ...

  10. SQLAlchemy(1)

    介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取 ...