先输入showdbs查看mongodb数据库存在的数据库列表,选择需要设置的数据库-账号密码
设置超级管理员账号密码
1、可以使用navicat15连接mongodb数据库,进入命令行界面,输入以下命令
如出现找不到MongoDBshell为可执行文件,选择设置路径,路径为:MongoDBshell是一个可执行的文件,位于MongoDB安装路径下的/bin文件夹中。
useadmin
db.createUser({
user:'admin',//用户名
pwd:'123456',//密码
roles:[{
role:'root',//角色---超级管理员才可以使用该角色
db:'admin'//数据库
}]
})
2、设置完成,可以输入showusers查看是否设置成功—超级管理员需要先登录才可以查看
3、开启验证
找到MongoDB安装目录,打开mongod.cfg文件,找到以下这句:
#security:
修改为:
security:
authorization:enabled
重启就可以了。
4、当设置账号密码成功后,我们对mongodb的数据库操作都有了限制,这时需要我们输入账号密码登录。
//方式一
mongo
useadmin
db.auth('admin','123456')
//方式二
mongoadmin-uadmin-p123456
添加其他数据库用户
我们除了可以设置数据库的超级管理员以外,还可以给每个数据库设置单独的管理员。其只有操作单独数据的一定权限。
usetest//跳转到需要添加用户的数据库
db.createUser({
user:'fooadmin',//用户名
pwd:'123456',//密码
roles:[{
role:'readWrite',//角色
db:'test'//数据库名
}]
})
常用命令
showusers//查看当前库下的用户
db.dropUser('testadmin')//删除用户
db.updateUser('admin',{pwd:'654321'})//修改用户密码
db.auth('admin','654321')//密码认证
用户角色字典
Read:允许用户读取指定数据库readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
|