在mongodb5.0.11版本中创建用户和授权

2024-06-02 04:04

本文主要是介绍在mongodb5.0.11版本中创建用户和授权,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

处理原因:

1、设定mongodb的环境变量

2、登录mongodb

3、使用admin库

4、创建 mongouser用户

5、更新 mongouser 可使用的库

6、创建 mongouser角色授权

7、更新root账号也可以使用 mongouser角色


处理原因:

在MongoDB中,root角色是预定义的,用于授予对整个数据库系统的管理权限,包括所有数据库和集合的操作。你不能创建或修改这个角色,只能赋予权限给已存在的root角色。
如果你的目标是创建一个新的管理员角色,你应该选择一个不同的名称。例如,你可以创建一个自定义的管理员角色,如mongouser,并赋予它你需要的权限。下面是一个示例

1、设定mongodb的环境变量

export PATH=/usr/local/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/bin:$PATH

2、登录mongodb

mongo --username root --password yourpassword --authenticationDatabase admin

3、使用admin库

use admin

4、创建 mongouser用户

db.runCommand({
...     createUser: "mongouser",
...     pwd: "yourpassword", 
...     roles: [ { role: "readWrite", db: "ep_mongo" }, { role: "readWrite", db: "ep_mongo_test" }],
...     mechanisms: [ "SCRAM-SHA-1" ]
... })
{ "ok" : 1 }

5、更新 mongouser 可使用的库

db.runCommand({
...     updateUser: "mongouser", 
...     roles: [{ role: "root", db: "admin" }, { role: "readWrite", db: "ep_mongo" }, { role: "readWrite", db: "ep_mongo_test" }],
...     mechanisms: [ "SCRAM-SHA-1" ]
... })
{ "ok" : 1 }

6、创建 mongouser角色授权


db.runCommand({  
...     createRole: "mongouser",  
...     privileges: [  
...         {  
...             resource: { db: "ep_mongo", collection: "" },  
...             actions: [  
...                 "find", "insert", "update", "createIndex", "dropIndex"
...             ]  
...         },  
...         {  
...             resource: { db: "ep_mongo_test", collection: "" },  
...             actions: [  
...                "find", "insert", "update", "createIndex", "dropIndex"
...             ]  
...         }  
...     ],  
...     roles: []  
... })
{ "ok" : 1 }

7、更新root账号也可以使用 mongouser角色


db.runCommand({
... ...     updateUser: "root",
... ...     roles: [ 
... ...         { role: "root", db: "admin" },
... ...         { role: "mongouser", db: "admin" }
... ...     ]
... ... })
{ "ok" : 1 }

8、重启服务

这篇关于在mongodb5.0.11版本中创建用户和授权的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1022977

相关文章

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

Python在固定文件夹批量创建固定后缀的文件(方法详解)

《Python在固定文件夹批量创建固定后缀的文件(方法详解)》文章讲述了如何使用Python批量创建后缀为.md的文件夹,生成100个,代码中需要修改的路径、前缀和后缀名,并提供了注意事项和代码示例,... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5.