MongoDB用户管理

一、用户管理先决条件

  • 角色分类
    • root
    • dbAdmin
    • readWrite
    • read

验证库:建立用户时 use 到的库,在使用用户时,要加上验证库才能登陆

开启 authorization 认证前,要先创建好 root 超级用户

  • 如果先开启 authorization 认证,那么在单机模式下就无法创建root 超级用户啦
security:
   authorization: enabled

二、创建超级用户

-- 创建前要 use admin 这个验证库,否则无法登陆
$ use admin
$ db.createUser({user: "root", pwd: "123456", roles: [ { role: "root", db: "admin" } ]})

或

$ use admin
$ db.createUser(
    {
        user: "root",
        pwd: "123456",
        roles: [ { role: "root", db: "admin" } ]
    })

三、创建库管理员

-- 创建用户之前先 use 到准备创建的库操作用户( 只能操作 dbawsp 库 )
$ use dbawsp
$ db.createUser(
    {
        user: "dbawsp_admin",
        pwd: "123456",
        roles: [ { role: "dbAdmin", db: "dbawsp" } ]
    })

四、创建读写帐号

-- 创建普通用户也要添加验证库( 单库权限 )
$ use dbawsp
$ db.createUser(
    {
        user: "dbawsp_rw",
        pwd: "123456",
        roles: [ { role: "readWrite", db: "dbawsp" } ]
    } )

-- 创建普通用户也要添加验证库( 多库权限 )
$ use dbawsp
$ db.createUser(
    {
        user: "dbawsp_rw",
        pwd: "123456",
        roles: [ { role: "readWrite", db: "dbawsp" }, { role: 'read', db: 'admin' } ]
    } )

五、验证查询帐号

-- 查询用户,当前实例所有用户信息
$ use admin
$ db.system.users.find().pretty()

-- 验证用户是否可用( 需要 use 到正确的验证库,返回 1 为正确的验证库与密码 )
$ use admin
$ db.auth('root','123456')
1

六、验证库连接

-- 超级管理员( 指定 root 用户对应验证库库名 地址-端口-验证库 进行连接 )
$ mongo --username root --password 123456 10.25.21.11:27017/admin

-- 普通用户( 指定 dbawsp_rw 用户对应验证库库名 指定 地址-端口-验证库 进行连接 )
$ mongo --username dbawsp_rw --password 123456 10.25.21.11:27017/dbawsp

七、删除帐号

-- 删除用户( 删除用户时必须要进入到这个用户的验证库删除 )
$ use dbawsp
$ db.dropUser('dbawsp_admin')
true
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论