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") } }

十.总结 先创建用户再开启认证