以glgd数据库为例子
首先要给它创建一个专门管理用户的 用户管理员
use admin
db.createUser({user:"luoyi",pwd:"abc123",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
这个用户只有管理其他用户的权限,没有查找show等等权限
++++++++++++
然后启动权限控制(先停止mongodb的服务,再带--auth参数,以权限控制的方式启动)
net stop mongodb 停止之前的mongodb服务;
mongod --auth --port 27017 --dbpath D:\mongodb\data\db 启动服务以后在进行操作;
++++++++++++++
使用客户端命令,连接mongodb服务,并且切换到admin数据库,并且进行认证
D:\mongodb\bin>mongo
> use admin
switched to db admin
>
>
> db.auth("luoyi","abc123")
1
>
+++++++++++++
切换到自定义的数据库,然后为自定义的数据库(glgd) 创建用户,用户都跟着库走,创建的用户都是.
use glgd
db.createUser(
{
user: "glgduser",
pwd: "12345678",
roles: [
{ role: "readWrite", db: "glgd" }
]
}
)
创建用户成功以后如果直接使用show collections 命令,命令行会提示没有权限,那么就需要使用权限认证以后才能进行操作
db.auth("glgduser","12345678")
然后再使用 show collections 就不报错了