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. 如何只修改EFLAGS寄存器中一个标志位的值?

    版权声明:本文为博主原创文章,2019-08-23,22:21:42转载请附上原文出处链接和本声明.作者By-----溺心与沉浮----博客园   1.写汇编指令只影响CF位的值(不能影响其他标志位 ...

  2. 第七篇Scrum冲刺博客

    第七篇Scrum冲刺博客 一.站立式会议 提供当天站立式会议照片一张 二.每个人的工作 成员 已完成工作 明天计划完成的工作 遇到的困难 林剑峰 加入搜索页面 无 陆君健 校园卡匹配功能的实现 无 石 ...

  3. Odoo配置文件

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189223.html

  4. 001-k8s集群的安装

    k8s集群的安装 1.实验描述 通过搭建 K8S 的集群,来学习对容器的编排 2.实验环境 [你可能需要][CentOS 7 搭建模板机]点我快速打开文章 [你可能需要][VMware 从模板机快速克 ...

  5. 1_ZedBoard开发板测试

    启动 将SD卡插入电脑进行格式化 格式化时,要将SD卡格式化为FAT32文件系统.块大小格式化为4096字节时后面会出现无法启动的情况,可以先复现一下这个错误.块大小我选择4096字节. 然后将Zed ...

  6. linux (06) redis安装

    redis安装 一.在linux安装redis,通过源码编译安装redis 1.下载源码包 wget http://download.redis.io/releases/redis-4.0.10.ta ...

  7. 2015年第六届蓝桥杯C/C++程序设计本科B组决赛 ——居民集会(编程大题)

    标题:居民集会 蓝桥村的居民都生活在一条公路的边上,公路的长度为L,每户家庭的 位置都用这户家庭到公路的起点的距离来计算,第i户家庭距起点的距 离为di.每年,蓝桥村都要举行一次集会.今年,由于村里的 ...

  8. 201871010126 王亚涛《面向对象程序设计(Java)》第十二周学习总结

      内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...

  9. JavaEE开发环境配置

    JavaEE开发环境配置 Tomcat的下载和安装 1.登录Tomcat 站点,下载Tomcat最新版本http://tomcat.apache.org/Windows平台下载ZIP包,LInux平台 ...

  10. Excel-数据透视表

    例如: 购买数量采用求和的方式 用户数ID数据采用计数的方式 一.数据透视表的结构 二.数据透视表的步骤 1.订单表 提出问题,理解数据,数据清晰,构建模型,数据可视化 问题1:每个客户的订单量? 问 ...