特别说明,本文内容仅根据Mongodb Manual 3.4。在3.6版本下测试有效。
添加root管理账户
use admin
db.createUser({
user: "root",
pwd: "root",
roles: [role: "root"],
customData: "root user with all permissions."
})
Built-In Roles(内置角色):
+ 数据库用户:read、readWrite;
+ 数据库管理:dbAdmin、dbOwner、userAdmin;
+ 集群管理:clusterAdmin、clusterManager、clusterMonitor、hostManager;
+ 备份恢复:backup、restore;
+ 所有数据库:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
+ 超级用户:root
添加指定数据库读写权限账户
一般给项目链接使用。
use project
db.createUser({
user: "projectUser",
pwd: "projectPwd",
roles: [{
role: "readWrite",
db: "project"
}],
customData: "User for project to read and write."
})
登录
在哪创建的,在哪登录。
use admin
db.auth("root","root")
use project
db.auth("projectUser","projectPwd")
开启认证模式
- 停止mongodb运行(这里使用你创建的服务名)。
net stop mongo
- 重新注册带有登录验证的服务
mongod.exe --logpath "D:\MongoDB\mongodb.log" --logappend --dbpath "D:\MongoDB\db" --port 27017 --serviceName "mongo" --serviceDisplayName "mongo" --auth --reinstall
- 启动服务
net start mongo