zoukankan      html  css  js  c++  java
  • MongoDB自学日记2——权限

           首先应该明确的是为什么要学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:"123456",
       roles:["root"]
     }
     )

      3.更改用户密码

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

      4.查看用户信息

    >db.runCommand({userInfo:"username"})
    {
           "ok" : 0,
           "errmsg" : "no such command: userInfo",
           "code" : 59,
           "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:'123456',
        roles:[
        'read',
        'dbAdminAnyDatabase']
       }
    )

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

    $mongod  --bind_ip  192.168.1.28   --port  28018

      

      先写这么多吧,最后附上最近的一幅个人习作(被《黑客与画家》洗过脑...)。立个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

  • 相关阅读:
    对象与引用
    聊天室小程序
    tcp程序设计--客户端获取服务器输入输出流
    线程小例子--进度条
    线程小例子--控制输出
    ngnix反向代理
    使用vuex管理数据
    vue列表到详情页的实现
    vue-实现一个购物车结算页面
    localstorage本地存储的应用
  • 原文地址:https://www.cnblogs.com/XiaoHDeBlog/p/4770287.html
Copyright © 2011-2022 走看看