MongoDB-4:用户管理

一、简介

    1.mongdb中有一个admin的数据库,牵涉到服务器配置层面的操作,需先切换到admin数据库,

      即use admin 进入超级用户管理模式。

    2.mongo的用户是以数据库为单位来建立的,每个数据库有自己的管理员。

    3.在设置用户时,需先在admin数据库下建立管理员,这个管理员登陆后,相等于超级管理员。  

二、常用操作

    1.切换到超级管理模式

        use admin

    2.创建超级管理员

        db.createUser({user:'chenfenli', pwd:'123456', roles:['userAdminAnyDatabase']});        

        role类型:

            readAnyDatabase 任何数据库的只读权限(和read相似)

            readWriteAnyDatabase 任何数据库的读写权限(和readWrite相似)

            userAdminAnyDatabase 任何数据库用户的管理权限(和userAdmin相似)

            dbAdminAnyDatabase 任何数据库的管理权限(dbAdmin相似)

        注意:添加用户后,再次退出并登录,发现依然可以直接读数据库?

        原因:mongodb服务器启动时,默认不需要认证的

        解决:重启服务器,启动服务器时指定 --auth

    3.创建用户

        1) 进入超级管理员模式并验证:

            use admin

            db.auth('用户名','密码')

        2)查看数据库

             

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
shop    0.000GB

        3) 进入到shop数据库

            use shop

        4) 查看shop对应的用户

> show users
{
    "_id" : "shop.xiaocheng2",
    "user" : "xiaocheng2",
    "db" : "shop",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "shop"
        }
    ]
}

        5)创建用户

            db.createUser({user:'xiaocheng3',pwd:'123456',roles:[{role:'readWrite',db:'shop'}]})

Successfully added user: {
    "user" : "xiaocheng3",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "shop"
        }
    ]
}

        6)登录

            db.auth('xiaocheng2','123456')

> db.auth('xiaocheng2','123456')
1
            1表示登录成功

        7)查询

            show collections

> show collections
test
--------------------- 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值