Windows MongoDB安装和开启用户验证
一.下载安装包mongodb-win32-x86_64-2012plus-v4.2-latest-signed.msi
群里有安装包和配置文档,如有问题欢迎交流
二.安装
注意:选择自定义安装
D:\Program Files\MongoDB\Server\4.2\
D:\Program Files\MongoDB\Server\4.2\data\
D:\Program Files\MongoDB\Server\4.2\log\
Compass是mongodb客户端软件,暂不安装
允许程序在此计算机上安装软件
三.启动 以管理员身份运行cmd
net start mongodb
计算机右键管理也可以管理服务(关闭,开启)
安装客户端工具Navicat121_Mongodb_x64并连接(无认证)
四.添加用户
连接上mongo 执行
use admin;
4.1 创建超级管理用户
db.createUser({
user:'root',
pwd:'123456',
roles:[{role:'root',db:'admin'}]
})
查看用户 show users;
4.2 为testdb库创建读写用户,onlinedb库创建只读用户 cooper
即cooper可以读写testdb,只能读onlinedb的数据
use admin
db.createUser({
user:'cooper',
pwd:'123456',
roles:[{role:'readWrite',db:'testdb'},{role:'read',db:'onlinedb'}]
})
root是最高权限可以管理所有数据库
use testdb;
db.user.insert({_id:1,name:"cooper",age:12})
db.user.find()
use onlinedb;
db.stu.insert({_id:1,name:"coco",age:22})
db.stu.find()
五.修改配置文件添加认证 "D:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg"
文件中添加,然后保存
security:
authorization: "enabled"
六.重启服务1. net stop mongodb 2. net start mongodb
七.重启mongodb
以管理员身份运行cmd
net start mongodb
net stop mongodb
八.连接
cooper 用户登录验证权限
use testdb;
db.user.insert({_id:2,name:"sam",age:32})
db.user.find()
use onlinedb;
db.stu.insert({_id:2,name:"cici",age:23})
db.stu.find()
cooper 用户对onlinedb库只读,不能修改
db.stu.insert({_id:2,name:"cici",age:23})
[Error] not authorized on onlinedb to execute command { insert: "stu", ordered: true, $db: "onlinedb", lsid: { id: UUID("e4bdfbd1-c3ca-4c2a-8fa4-476580aec004") } }
十.总结 先创建用户再开启认证