MongoDB3.X创建账户

原创
2017/12/08 11:31
阅读数 91

一、操作步骤

1、使用管理员数据库(cmd下)

mongo localhost:27017/admin

2、添加root账户(mongo客户端)

(1)db.addUser(a,b,c)  旧、不推荐

a 用户名 b 密码 c 是否只读

举例

db.addUser(“root”,”root”)

db.addUser(“test”, “123456”, true)

为某个数据库添加账户要先use cntest,再执行添加命令

 

(2)db.createUser(user, writeConcern)

user 该文件具有关于要创建的用户的认证和访问信息。

writeConcern 可选。关于创建操作的写入级别。

{ user: "<name>",

  pwd: "<cleartext password>",

  customData: { <any information> },

  roles: [

    { role: "<role>", db: "<database>" } | "<role>",

    ...

  ]

}

user 用户名

pwd 密码

customData 可选。任意描述性信息

roles授予用户的角色,接收数组

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

内置角色官网说明:

https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles

官网说明:

http://docs.mongodb.org/manual/reference/write-concern/

举例:

db.createUser({

    user: "root",

    pwd : "123456",

    roles :[

        {role:"root", db:"admin"}

    ]

});

查看用户列表 show users;

 

3、关闭当前mongodb服务器(mongo客户端)

db.shutdownServer()

4、启动mongodb,并开启安全认证(cmd下)

mongod -dbpath E:\software\mongodb\mongodata -logpath E:\software\mongodb\logs\log1.txt -auth

4、连接mongo客户端,然后登录

必须去创建用户的那个数据库才能登录

(1)     连接时直接登录

mongo -u root -p 123456 --authenticationDatabase admin

(2)     先连接,然后再登录

use admin

db.auth(“root”, ”123456”)

5、登出

db.logout()

展开阅读全文
打赏
0
0 收藏
分享
加载中
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部