首先应该明确的是为什么要学MongoDB。OK,如果是仅仅出于对于流行技术的原始兴趣,可能并不能深入学习,还必须有应用需求。刚开始学习MongoDB,因为以前对其它数据库的了解也不是特别深入,所以许多概念和原理需要梳理。

  本节主要是学习访问控制权限的问题。第一步就需要创建用户,手头有一些mongodb的文档,然而估计是出版时间和版本太老了,基本都说用db.addUser创建用户,结果执行不成功。原因在于我所使用的mongodb版本是3.0.6,而从2.6版本起已经deprecated了addUser这个方法,取而代之的是createUser(看来还是得多看官方手册)。

1.连接上数据库后,切换到admin数据库。mongodb默认会有一个admin数据库,创建用户需要使用这个数据库。

>use admin

2.创建一个具有root权限的用户

 >db.createUser(
{
   user:"username",
   pwd:"",
   roles:["root"]
 }
)

  3.更改用户密码

>db.changeUserPassword("username","newpassword");

  4.查看用户信息

>db.runCommand({userInfo:"username"})
{
"ok" : ,
"errmsg" : "no such command: userInfo",
"code" : ,
"bad cmd" : {
"userInfo" : "username"
}
}

  5.登录

$mongo  -u username -p password --authenticationDatabase admin

  6.验证用户,auth方法验证通过返回数值1,错误返回0。

>db.auth("username","password");

  7.查看当前用户拥有权限

>db.runCommand(
{
usersInfo:"username",
showPrivileges:true
}
)

  有了root用户以后,可以进一步增加一些普通用户,比如只有只读权限。

> db.createUser({
user:'xiaoh',
pwd:'',
roles:[
'read',
'dbAdminAnyDatabase']
}
)

  我们还可以为服务器绑定IP和端口,这样在服务端限定了能够访问mongodb的IP和端口。

$mongod  --bind_ip  192.168.1.28   --port  

  

  先写这么多吧,最后附上最近的一幅个人习作(被《黑客与画家》洗过脑...)。立个Flag在这里吧,以后每篇文章都得带一幅手绘否则不发,若哪次食言则请所有留言的网友吃饭。

  一手画笔,一手代码

  行走江湖,笑傲天涯

References:

1.《深入学习MongoDB》

2.《MongoDB权威指南》

Links:

1.https://docs.mongodb.org/master/reference/built-in-roles/#database-administration-roles

2.http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html

3.http://blog.csdn.net/yenange/article/details/43966799

MongoDB自学日记2——权限的更多相关文章

  1. MongoDB自学日记3——架构及HA

    在对mongoDB的操作有了一定基础后,终于可以扯扯HA和架构这两个高大上的概念了.在这之前当然还得弄清楚mongoDB的Key feature:Sharding. 1. Sharding Shard ...

  2. MongoDB自学日记1——基本操作

    作为一个做底层及后台研发的,最近对NoSQL却产生了浓厚的兴趣,加入了一个DBA群,据说北京排的上号的DBA都在里面,然而里面基本都是Oracle系的,MySQL和MongoDB系的少之又少.学习靠不 ...

  3. MongoDB 3.X 用户权限控制

    摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境.测试: 在安装MongoDB之后,先关闭auth认证,进 ...

  4. MongoDB 3.0安全权限访问控制(Windows版)

    MongoDB 3.0安全权限访问控制(Windows版) 1.首先,不使用 –auth 参数,启动 mongoDB: mongod --dbpath "d:\mongodb\data\db ...

  5. MongoDB的账户与权限管理及在Python与Java中的登陆

    本文主要介绍了MongoDB的账户新建,权限管理(简单的),以及在Python,Java和默认客户端中的登陆. 默认的MongoDB是没有账户权限管理的,也就是说,不需要密码即可登陆,即可拥有读写的权 ...

  6. mongodb副本集用户权限设置

     mongodb副本集用户权限设置  用户权限参考文章 一:先看看MongoDB中用户的角色说明 read :   数据库的只读权限,包括: aggregate,checkShardingIndex, ...

  7. MongoDB的账户与权限管理及在Python与Java中的登录

    本文主要介绍了MongoDB的账户新建,权限管理(简单的),以及在Python,Java和默认客户端中的登陆. 默认的MongoDB是没有账户权限管理的,也就是说,不需要密码即可登陆,即可拥有读写的权 ...

  8. mongodb用户创建及权限控制

    转载 2017年03月30日 12:36:15 2169 摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境 ...

  9. MongoDB 安全和访问权限控制

    MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录 一,访问控制的参数 1,绑定IP地址 mongod 参数:-- ...

随机推荐

  1. 云主机CentOS 7新环境命令行搭建node工程步骤

    1.用Node官网提供的命令安装node https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-d ...

  2. docker部署netcore应用(二)

    基于第一章已经安装好了docker,这次将把netcore应用部署到docker容器中 开发工具vs2017,准备个DotNet Core的Console应用程序,测试一下 发布DockerTest项 ...

  3. WPF 小矢量图 : 主页,返回,加,减,文字按钮,左移,右移

    原文:WPF 小矢量图 : 主页,返回,加,减,文字按钮,左移,右移 代码:: <UserControl x:Class="SQ.TestPage" xmlns=" ...

  4. ddraw 视频下绘图 不闪烁的方法

    我们假设是在在RGB视频上绘图(直线,矩形等),一般採用双缓冲区继续,使用内存MemoryDC,来实现画的图形在视频上显示不闪烁的功能,可是我们知道用RGB显示视频都是使用GDI进行渲染,这样非常耗C ...

  5. 零元学Expression Design 4 - Chapter 7 使用内建功能「Clone」来达成Path的影分身之术

    原文:零元学Expression Design 4 - Chapter 7 使用内建功能「Clone」来达成Path的影分身之术 本章所介绍的是便利且快速的内建工具Clone ? 本章所介绍的是便利且 ...

  6. WPF 呼吸灯特效

    原文:WPF 呼吸灯特效 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u014117094/article/details/46738621 pa ...

  7. if-then和if-then-else声明

    1.使用if-then声明 结构化命令,主要类型为if-then声明.if-then例如,下面的语句格式: if command then commands fi 假设你在使用其它编程语言的if-th ...

  8. jquery 访问cookie

    <!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  9. canvas——粒子系统(1)

    这个动画在很早之前就见过,当时就没迷住了.最近在学canavs动画,动手实现了一下.代码在这里.展示效果在这里. 这属于粒子系统的一种,粒子系统就是需要管理一堆粒子嘛,动画实现的关键在于,遍历这些粒子 ...

  10. 使用tratto进行CISCO网络设备的管理

    测试环境: CSR1000V CentOS7.4 X64 Step 1:在CentOS7上安装python 3.0环境 [root@docker ~]# python3 -VPython 3.7.0[ ...