首先应该明确的是为什么要学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. Android中TabHost中实现标签的滚动以及一些TabHost开发的奇怪问题

    最近在使用TabHost的时候遇到了一些奇怪的问题,在这里总结分享备忘一下. 首先说一点TabActivity将会被FragmentActivity所替代,但是本文中却是使用的TabActivity. ...

  2. WPF依赖属性(续)(3)依赖属性存储

    原文:WPF依赖属性(续)(3)依赖属性存储          在之前的两篇,很多朋友参与了讨论,也说明各位对WPF/SL计数的热情,对DP系统各抒已见,当然也出现了一些分歧. 以下简称DP为依赖属性 ...

  3. R 语言的学习(一)

    1. 基本 "hello world!" > "hello world!" [1] "hello world!" 这在 R 中并不是一 ...

  4. FastDFS安装、配置、部署(三)-Storage配置具体解释

    1.基本配置 # is this config file disabled # false for enabled # true for disabled disabled=false # the n ...

  5. js小贴士

    1.在js中 定义方法 方法名第一个字母小写.如果是定义类 则第一个字母大学 2.如果想在a标签中点击 触发js方法 而不跳转页面 可以使用类似   <a href="javascri ...

  6. 极简代码(七)—— SNR

    10⋅log10∑x=1Nx∑y=1Nyf2(x,y)∑x=1Nx∑y=1Ny(f(x,y)−f^(x,y))2 这里不妨先用 matlab 所支持的函数对象(函数式编程)定义这样一个函数变量,可作为 ...

  7. Ubuntu 15.04 clang++ 3.6 编译boost 1.59/1.55

    Ubuntu 15.04已经可以直接通过apt-get insall 安装clang 3.6, 并且预装的gcc版本是4.9.2.这些安装过程在这里介绍. 首先下载boost源码 wget -O bo ...

  8. 读BeautifulSoup官方文档之html树的搜索(1)

    之前介绍了有关的四个对象以及他们的属性, 但是一般情况下要在杂乱的html中提取我们所需的tag(tag中包含的信息)是比较复杂的, 现在我们可以来看看到底有些什么搜索的方法. 最主要的两个方法当然是 ...

  9. LeetCode - 4 - Longest Substring Without Repeating Characters

    题目 URL:https://leetcode.com/problems/median-of-two-sorted-arrays/ 解法 二分法. 总的思想是将 2 个数组用 2 个指针“整体”二分. ...

  10. 数据绑定(二)把控件作为Binding源

    原文:数据绑定(二)把控件作为Binding源 下面的代码把一个TextBox的Text属性关联在了Slider的Value属性上 <Window x:Class="WpfApplic ...