MongoDB——centOS7环境Mongodb权限管理(图解版)

目录

    • 一、MongDB权限概述
      • 1.1、MongDB权限概述
      • 1.2、MongDB权限列表
    • 二、Mongodb权限管理示例
      • 2.1、创建账号
        • 2.1.1、创建管理员用户
        • 2.1.2、开启认证
        • 2.1.3、创建普通账号

一、MongDB权限概述

1.1、MongDB权限概述

  • mongodb是没有默认管理员账号,所以要先添加管理员账号,再开启权限认证。
  • mongodb添加账号需要使用use admin切换到admin数据库,在admin数据库添加的账号才是管理员账号。
  • mongodb的用户是以数据库为单位来建立的,每个数据库有自己的管理员。
  • mongodb帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证。

1.2、MongDB权限列表

角色说明
Read允许用户读取指定数据库
readWrite允许用户读写指定数据库
dbAdmin允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root只在admin数据库中可用。超级账号,超级权限。

二、Mongodb权限管理示例

2.1、创建账号

2.1.1、创建管理员用户
  • 查看数据库

    show dbs
    

    在这里插入图片描述

  • 切换到admin数据库

    use admin
    

    在这里插入图片描述

  • 查看用户

    show users
    

    在这里插入图片描述

  • 创建管理员用户

    db.createUser( { user: "admin", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin"}]}) 
    

    在这里插入图片描述

  • 然后查看创建的用户

    show users
    

    在这里插入图片描述

2.1.2、开启认证
  • 编辑配置文件 mongodb服务的conf目录下的mongdb.conf 文件
    在这里插入图片描述

  • 在mongdb.conf 文件中修添加如下内容:auth=true
    在这里插入图片描述

  • 修改之后,重启mongdb服务 ,重新连接mongdb

    #停止服务
    [root@localhost conf]# mongod --config /home/mongo/conf/mongodb.conf --shutdown
    #启动服务
    [root@localhost conf]# mongod --config /home/mongo/conf/mongodb.conf
    

    在这里插入图片描述

  • 使用创建好的管理员用户及密码,重新连接mongdb,如下图:

    在这里插入图片描述

2.1.3、创建普通账号
  • 创建普通数据库, 先切到admin数据库,然后db.auth(“用户”,“密码”) 登录。

    use admin
    db.auth("admin","123456")
    

    在这里插入图片描述

  • 通过 use 命令创建数据库 test,如果已经有该数据就会进行切换。如果数据库没有数据执行 show dbs 数据库不会被显示

    > use test
    
  • 可以通过 db 命令查看当前是哪个数据库

    db
    

    在这里插入图片描述
    在这里插入图片描述

  • 在 test 数据库中 ,创建test数据库的用户

    db.createUser({user:"testuser",pwd:"123456",roles:[{role:"userAdmin",db :"test"},{role:"dbAdmin",db:"test"},{role:"readWrite",db:"test"}]})
    

    在这里插入图片描述

  • 查看创建的普通用户

    > show users
    

    在这里插入图片描述

  • 登录test数据库

    use test
    db.auth("testuser","123456")
    

    在这里插入图片描述

  • 使用创建好的test数据库的普通用户及密码,重新连接mongdb,如下图:
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/130976.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023版 STM32实战9 RTC实时时钟/闹钟

RTC简介 实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。 注意事项 -1- 要手动配置中断寄存器 -2- 需要等待写操作完成 -3- 时钟闹钟中段…

【Python 零基础入门】基础语法

【Python 零基础入门】第四课 基础语法 【Python 零基础入门】第四课 基础语法怎么写 Python 代码缩进注释Python 标识符规则Python关键字代码行和块导包 字符串操作字符串连接字符串的其他常用方法 循环for 循环while 循环 判断语句比较运算符逻辑运算符if 判断三元表达式brea…

机器学习(21)---召回率(recall)、精度(precision)和准确率(accuracy)

文章目录 1. 分布不平衡的数据集2. TP、TN 、FP 、FN3. 混淆矩阵4. 各自的计算公式5. 例题应用 1. 分布不平衡的数据集 1. 精度(precision)和召回率(recall)是衡量机器学习模型性能的重要指标,特别是数据集分布不平衡的…

《鱿鱼游戏》杀入体验店 SandboxVR未能复制神话

曾经火爆全网的剧集《鱿鱼游戏》这回真的变成游戏了,而且还是能身临其境去玩的那种。 9月底,沉浸式游戏社交公司Sandbox VR与全球知名流媒体Netflix合作,将《鱿鱼游戏》搬入VR体验店,用线下场地VR的方式,重现123木头人…

Android Fragment中使用Arouter跳转到Activity后返回Fragment不回调onActivityResult

Fragment中通过路由跳转到Activity 跳转传递参数 通过Arouter跳转 Postcard postcard ARouter.getInstance().build(RouterConstant.ACTION_TRANSMANAGERACTIVITY1);Bundle bundle new Bundle();bundle.putInt("code", 404);postcard.with(bundle); //设置bundlef…

点云模板匹配

点云模板匹配是一种在点云数据中寻找特定形状或模式的方法。它通常用于计算机视觉和三维图像处理中,可以应用于物体识别、姿态估计、场景分析等任务。点云模板匹配的基本思想是将一个称为模板的小点云形状与输入的大点云进行匹配,以找到最佳的对应关系。…

【Java】什么是API

API (Application Programming Interface,应用程序编程接口) Java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层封装起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档…

Maven 依赖管理

Maven 一个核心的特性就是依赖管理。当我们处理多模块的项目(包含成百上千个模块或者子项目),模块间的依赖关系就变得非常复杂,管理也变得很困难。针对此种情形,Maven 提供了一种高度控制的方法。 可传递性依赖发现 …

【运维】一些团队开发相关的软件安装。

gitlab 安装步骤 (1) 下载镜像,并且上传到服务器 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.2.8-ce.0.el7.x86_64.rpm (2)rpm -i gitlab-ce-16.2.8-ce.0.el7.x86_64.rpm (3)安装成功后…

安卓 kotlin-supportFragmentManager报红

如果你继承baseActivity 请查看 是不是继承 AppCompatActivity

L14D6内核模块编译方法

一、内核模块基础代码解析 一个内核模块代码错误仍然会导致的内核崩溃。 GPL协议:开源规定,使用内核一些函数需要 1、单内核的缺点 单内核扩展性差的缺点减小内核镜像文件体积,一定程度上节省内存资源提高开发效率不能彻底解决稳定性低的缺…