1.进入环境
./mongo
2.切换数据库
use admin
3.添加超级管理员账号密码
db.createUser( {user: "admin",pwd: "123456",roles: [root]}) // user 用户名 pwd 密码 roles 用来设置用户的权限是否支持读写等操作 超级管理员
4.验证是否添加成功
use.auth('账号', '密码') // 用户名和密码 回车后返回的是 1 的话表示密码验证成功 0 的话表示失败
5.创建一个数据库管理员
use admin // 进入超级管理员并验证密码 db.auth('root', 'pwd') // 创建用户 db.createUser({user: "user",pwd: "123456",roles: [ { role: "readWrite", db: "recommended" } ]} ) // user 你需要创建的用户名 // pwd 密码 // role 权限 这里表示可以读写 // db 指的是可操的数据库
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
- dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin:允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户
- clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
- root:只在admin数据库中可用。超级账号,超级权限
6.查看用户
show users 或 db.system.users.find() 或 db.runCommand({usersInfo:"userName"})
7.修改密码以及用户信息
db.runCommand({updateUser:"username", pwd:"xxx", customData:{title:"xxx"}})
8.删除数据库某一用户
use admin db.auth('root', 'pwd') db.dropUser('user001')
9.修改配置文件
修改mongo.conf,最后一行添加
auth=true
然后重启mongodb