docker部署mongo,并配置用户
- 创建容器:
docker run --name mongo -p 3717:27017 -v /data/mongo/data:/data/db -v /data/mongo/backup:/data/backup -d mongo --auth
- 进入容器:
docker exec -it mongo mongo admin
- 切换数据库到admin:
use admin
- 创建admin账户:
db.createUser({user:'admin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})
- 使用admin账户操作:
db.auth("admin","123456")
- 创建新库:
use new-db
- 创建普通用户并授权:
db.createUser({user:"new-user",pwd:"123456",roles:[ { role: "readWrite", db: "new-db" }]});
- 退出容器:
exit
基于角色的权限说明(摘抄自:https://blog.csdn.net/m0_46205920/article/details/106115173)
内置角色
数据库用户角色
read: 只读数据权限
readWrite:学些数据权限数据库管理角色
dbAdmin: 在当前db中执行管理操作的权限
dbOwner: 在当前db中执行任意操作
userADmin: 在当前db中管理user的权限备份和还原角色
backup
restore跨库角色
readAnyDatabase: 在所有数据库上都有读取数据的权限
readWriteAnyDatabase: 在所有数据库上都有读写数据的权限
userAdminAnyDatabase: 在所有数据库上都有管理user的权限
dbAdminAnyDatabase: 管理所有数据库的权限集群管理
clusterAdmin: 管理机器的最高权限
clusterManager: 管理和监控集群的权限
clusterMonitor: 监控集群的权限
hostManager: 管理Server超级权限
root: 超级用户
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构