1、不带 --auth 参数下启动mongod服务。
2、执行mongo命令,连接到mongo服务,成功进入后如下图所示:
3、执行use admin命令,进入到admin数据库,如下图所示:
4、创建一个超级账号:
db.createUser({user:"user1",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"readWriteAnyDatabase",db:"admin"}]})
// readWriteAnyDatabase:只在admin数据库中可用,赋予对应用户所有数据库的读写权限
// userAdminAnyDatabase:只在admin数据库中可用,赋予对应用户所有数据库的userAdmin权限
5、带 --auth 参数下重新启动mongod服务。
6、创建一个新的db,并给某个用户追加或者新增权限:
// 1、切到admin数据库
use admin
// 2、登陆user1超级管理员
db.auth("user1","123456")
// 3、准备创建新的数据库mydb
use mydb
// 4、创建一个集合test并插入一条数据,这样才会真正创建mydb数据库
db.test.insert({})
// 5、再mydb数据库里面,执行创建用户命令,这样,改用户就拥有改数据库的权限了
db.createUser({user:"user1",pwd:"123456",roles:[{role:"readWrite",db:"mydb"}]})