首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MongoDB6 安装部署、权限设置、外网访问

本文使用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:端口/数据库名

登陆无问题,且不同人员登陆后权限不同

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230208A0706200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券