设置超级管理员
设置 admin($use admin切换到admin数据库)
use admin
db.createUser({
user: 'admin', // 用户名
pwd: '123456', // 密码
roles:[{
role: 'root', // 角色
db: 'admin' // 数据库
}]
})
设置完成,可以输入 show users 查看是否设置成功,如下:
开启验证
找到 MongoDB 安装目录,打开 mongod.cfg文件,找到以下这句:
#security:
改为:
security:
authorization: enabled
修改后保存mongod.cfg文件
重启 MongoDB
windows + R打开运行命令输入框,输入services.msc进入任务管理器。
找到 MongoDB 服务,右键重新启动。
这时,我们可以打开 命令行工具连接数据库:
输入 mongo:显示连接成功,但是当我们输入其他指令时,会提示没有权限
登录数据库
// 方式一
mongo
use admin
db.auth('admin', '123456')
// 方式二
mongo admin -u admin -p 123456
连接后即可访问和操作数据了。
添加数据库用户
我们除了可以设置数据库的超级管理员以外,还可以给每个数据库设置单独的管理员。其只有操作单独数据的一定权限。
use test // 跳转到需要添加用户的数据库
db.createUser({
user: 'fooadmin', // 用户名
pwd: '123456', // 密码
roles:[{
role: 'readWrite', // 角色
db: 'test' // 数据库名
}]
})
常用命令
show users // 查看当前库下的用户
db.dropUser('testadmin') // 删除用户
db.updateUser('admin', {pwd: '654321'}) // 修改用户密码
db.auth('admin', '654321') // 密码认证
MongoDB 数据库默认角色
1、数据库用户角色:read、readWrite
2、数据库管理角色:dbAdmin、dbOwner、userAdmin
3、集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
4、备份恢复角色:backup、restore
5、所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
dbAdminAnyDatabase
6、超级用户角色:root
原文链接:https://www.jianshu.com/p/237a0c5ad9fa