码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Docker之MongoDB容器中创建用户与授权操作


    Docker之MongoDB容器中创建用户与授权操作

    文章目录

    • Docker之MongoDB容器中创建用户与授权操作
    • 1. 拉取MongoDB镜像
    • 2. 运行容器
    • 3. 创建用户与授权
      • 1. 创建管理员用户
      • 2. 管理员用户创建其他用户
      • 2. 修改用户
      • 4. 删除用户

    其他配置参照docker Hub官网:Mongo - Official Image | Docker Hub

    1. 拉取MongoDB镜像

    docker pull mongo:4.2.23
    
    • 1

    2. 运行容器

    1. 运行一个名称为auth_mongo镜像,且挂载容器数据券为F:/dockeData/mongodb4223/data/db:/data/db
    2. 通过--auth来开启授权功能
    # --auth表示连接mongodb时需要授权
    docker run -it -d --name auth_mongo -v F:/dockeData/mongodb4223/data/db:/data/db -p 27017:27017 mongo:4.2.23 --auth
    
    • 1
    • 2

    3. 创建用户与授权

    进入容器内部创建用户

    1. 创建管理员用户

    #进入容器
    docker exec -it auth_mongo mongo admin
    # 添加管理员用户
    db.createUser({ user:'admin',pwd:'admin@123',roles:[ { role:'root', db: 'admin'}]});
    # 切换到admin数据库
    use admin
    # 登录认证
    db.auth('admin', 'admin@123')
    # 查看数据库
    show dbs
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2. 管理员用户创建其他用户

    1. 先登录管理员账户;
    2. 切换到某个数据库并创建其他用户
    # 1.先使用admin账户登录
    use admin
    db.auth('admin','admin@123')
    # 2.切换到并创建my_db库
    use my_db
    # 在my_db数据库下创建test_user用户
    db.createUser({user:'test_user',pwd:'test_user',roles:['readWrite']})
    #通过账号密码登录并添加users集合数据
    db.auth("test_user","test_user")
    # 插入测试数据
    db.users.insert( { name:"jinshengyuan", age:22} )
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2. 修改用户

    如修改test_user用户的角色

    db.updateUser({user:'test_user',pwd:'test_user',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})
    
    • 1

    4. 删除用户

    # 删除用户
    db.dropUser('test_user')
    
    • 1
    • 2

    )

    • 相关阅读:
      Linux搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务
      YoloV8改进策略:全新特征融合模块AFPN,更换YoloV8的Neck
      ubuntu20.04安装genymotion3.5.1
      Linux(11)动静态库生成与安装
      斯特林数行列求解
      【计算机毕业设计】22.学校试卷生成系统+vue
      【Spring Boot】响应JSON实现原理
      MQ 概念介绍 / 配置以及原理 简书
      spring boot 框架基本环境的搭建
      Snowflake8亿美元收购Streamlit,联手构建基于数据的应用程序
    • 原文地址:https://blog.csdn.net/yuanjinshenglife/article/details/136290627
    • 最新文章
    • 攻防演习之三天拿下官网站群
      数据安全治理学习——前期安全规划和安全管理体系建设
      企业安全 | 企业内一次钓鱼演练准备过程
      内网渗透测试 | Kerberos协议及其部分攻击手法
      0day的产生 | 不懂代码的"代码审计"
      安装scrcpy-client模块av模块异常,环境问题解决方案
      leetcode hot100【LeetCode 279. 完全平方数】java实现
      OpenWrt下安装Mosquitto
      AnatoMask论文汇总
      【AI日记】24.11.01 LangChain、openai api和github copilot
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
    正则表达式工具 cron表达式工具 密码生成工具

    京公网安备 11010502049817号