1、查看当前已有用户
show users
或
db.system.users.find()
2、创建用户
创建admin数据库的用户
db.createUser(
{
user: "admin",
pwd: "admin123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
} )
创建accountAdmin01用户并授权两个数据库的操作权限
db.createUser({
user: "test",
pwd: "test",
roles: [ { role: "readWrite", db: "test" },"readAnyDatabase"],
authenticationRestrictions: [ {
clientSource: ["192.0.2.0"], //允许连接数据库的客户端IP
serverAddress: ["198.51.100.0"] //服务端IP
} ]
})
参数说明:
user :用户名
pwd:密码
roles:
role:用户角色
a. Read:允许用户读取指定数据库
b. readWrite:允许用户读写指定数据库
c. dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
d. userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
e. clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
f. readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
g. readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
h. userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
i. dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
j. root:只在admin数据库中可用。超级账号,超级权限
db:操作的数据库名
3、修改MongoDB配置并重启
停止MongoDB,
修改配置文件(或新建配置文件),添加认证参数 auth=true
启动MongoDB
mongod --config E:\mongodb\mongo.conf
切换用户
db.auth('admin','admin123')
4、补充
Windows将MongoDB添加到Windows服务项:
mongod.exe --logpath E:/mongodb/logs/mongodb.log --logappend --dbpath E:/mongodb/data/db --directoryperdb --serviceName MongoDB --install
show users
或
db.system.users.find()
2、创建用户
创建admin数据库的用户
db.createUser(
{
user: "admin",
pwd: "admin123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
} )
创建accountAdmin01用户并授权两个数据库的操作权限
db.createUser({
user: "test",
pwd: "test",
roles: [ { role: "readWrite", db: "test" },"readAnyDatabase"],
authenticationRestrictions: [ {
clientSource: ["192.0.2.0"], //允许连接数据库的客户端IP
serverAddress: ["198.51.100.0"] //服务端IP
} ]
})
参数说明:
user :用户名
pwd:密码
roles:
role:用户角色
a. Read:允许用户读取指定数据库
b. readWrite:允许用户读写指定数据库
c. dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
d. userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
e. clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
f. readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
g. readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
h. userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
i. dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
j. root:只在admin数据库中可用。超级账号,超级权限
db:操作的数据库名
3、修改MongoDB配置并重启
停止MongoDB,
修改配置文件(或新建配置文件),添加认证参数 auth=true
启动MongoDB
mongod --config E:\mongodb\mongo.conf
切换用户
db.auth('admin','admin123')
4、补充
Windows将MongoDB添加到Windows服务项:
mongod.exe --logpath E:/mongodb/logs/mongodb.log --logappend --dbpath E:/mongodb/data/db --directoryperdb --serviceName MongoDB --install