1.下载安装
下载地址
https://www.mongodb.com/download-center
下载完解压到指定文件夹就好了
2.安装服务
mongod --dbpath E:\MongoDB\Server\4.0\data --logpath E:\MongoDB\Server\4.0\log\mongod.log --logappend --serviceName MongoDB --install
3.启动mongod服务,添加一个管理用户(userAdminAnyDatabase)
net start MongoDB
默认是超级管理员权限,可以进行所有操作
这里可以添加一个用户,角色为userAdminAnyDatabase
db.createUser(
{
user: "admin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "test" } ]
}
该用户可以对用户进行添加删除,并赋予每个用户数据库读写权限等操作,但是该用户无法操作指定数据库中的集合,只能查看数据库及数据库中的集合
这里我们先停止并删除MongoDB服务
net stop MongoDB
sc delete MongoDB
然后重新安装一下服务这里要加–auth
mongod --dbpath E:\MongoDB\Server\4.0\data --logpath E:\MongoDB\Server\4.0\log\mongod.log --logappend --serviceName MongoDB --auth --install
然后启动服务
net start MongoDB
启动成功
3.对每个数据库赋予不同权限
这时候打开mongo客户端,输入show dbs
查询不到任何数据库
因为这时没有登录,登录刚才添加的账号
发现可以查看数据库,但是无法
对每个数据库进行增删查改操作
添加一个用户只对test数据库有读写权限
退出登录,然后登录刚才创建到用户,发现可以对test数据库进行操作了
这时候show dbs只能看到当前数据库,对其它数据库也不能操作
这样就实现了MongoDB的用户管理认证
最后列出MongoDB的角色
MongoDB基本的角色
1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore;
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色:root