首先应该明确的是为什么要学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. C#中的yield关键字

    迭代器,是一个连续的集合,出现多个yield return其实就是将这多个的yield return元素按照出现的顺序存储在迭代器的集合中而已.形如下面的形式: public class CityCo ...

  2. Tomcat 学习总结

    1. 下载地址      Eclipse: http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/photo ...

  3. WPF MeshGeometry3D

    说说 MeshGeometry3D 里 常用的 四个属性. 先看看 MSDN 的 简介 先说说 Positions,介绍说 是顶点位置的集合,什么意思,看张图片. 这张简单描述了一个三位坐标系,里面有 ...

  4. 开源软件的许可(License)

    自由软件基金会(Free Software Foundation):FSF 0. GNU GNU (GNU is Not Unix 的递归缩写)计划,又称革奴计划,是由 Richard Stallma ...

  5. STL序列容器之vector

    一,vector容器简介 1.vector容器的原理 vector是将元素置于一个动态数组中加以管理的容器. 2.vector容器的特点 vector容器可以随机存取元素,支持索引存取(即用数组下标的 ...

  6. hudson绑定svn和vs2008实现持续构建

    作者:朱金灿 来源:http://blog.csdn.net/clever101 首先需要在服务器上安装以下工具: (1)hudson,我推荐从http://hudson-ci.org/downloa ...

  7. End-to end provisioning of storage clouds

    Embodiments discussed in this disclosure provide an integrated provisioning framework that automates ...

  8. 对scrollTop的研究

    本文主要从原生 JS以及jquery来说明scrollTop是如何实现的,以及一些技巧,以及在PC端和移动端使用的差异. 首先用代码表示下如何回到顶部的简单原理 <!doctype html&g ...

  9. 面向对象举例(一) —— 顶点(vertex)、边(edge)与图(graph)

    Graph: class Graph(dict): def __init__(self, vs=[], es=[]): for v in vs: self.add_vertex(v) for e in ...

  10. 用Python模拟浏览器操作

    两种思绪三种要领: 用pamie.建议不要使用,因为pamie为小我私人开发,里面的bug比力多,并且是直接使用win32com体式格局的,如果ie不警惕修改了,后果很严重.另外,pamie3使用的是 ...