本文使用windows安装,但实际配置与linux相同。
一、软件安装
下载MongoDB,当前版本为6.0.4,默认安装带MongoDB Compass
https://www.mongodb.com/try/download/community
默认安装目录为C:\Program Files\MongoDB\Server\6.0
MongoDB Shell需要手动下载,可放在MongoDB目录中使用
https://www.mongodb.com/try/download/shell
安装后程序自动注册为服务,自动运行,程序开启、停止、重启均通过服务控制
二、配置文件
mongod.cfg配置文件位于C:\Program Files\MongoDB\Server\6.0\bin\,建议使用默认配置文件配置完成后再修改配置文件。
三、配置数据库、用户、远程登陆
注意!必须使用MongoDB Shell配置
运行mongosh.exe登陆终端
查看当前数据库
test> show dbs admin 168.00 KiB config 108.00 KiB local 80.00 KiB
创建管理员用户,进入admin管理员库
control> use admin switched to db admin admin> db.createUser({ user: "superadmin", pwd: "superadmin", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] }) { ok: 1 }
验证用户名密码,退出系统
admin> db.auth('superadmin','superadmin') { ok: 1 } admin>exit
修改mongod.cfg配置文件,开启验证
security: authorization: enabled /开启认证
重启服务
再次使用mongosh.exe登陆数据库,运行任意命令提示权限不足
test> show dbs MongoServerError: command listDatabases requires authentication
使用管理员用户登录
test> use admin switched to db admin admin> db.auth('superadmin','superadmin') { ok: 1 }
创建control数据库和数据库拥有者
admin> use control switched to db control control> db.createUser({ user: "admin", pwd: "adminpasswd", roles: [{ role: "dbOwner", db: "control" }] }) { ok: 1 }
创建只读账号
control> db.createUser({ user: "user", pwd: "user", roles: [{ role: "read", db: "control" }] }) { ok: 1 }
修改mongod.cfg配置允许外网访问并重启服务器
net: port: 60000 /端口配置 bindIp: 0.0.0.0 /监听所有地址
使用MongoDB Compass客户端登录测试
格式为
mongodb://用户名:密码@IP:端口/数据库名
登陆无问题,且不同人员登陆后权限不同
领取专属 10元无门槛券
私享最新 技术干货