MongoDB 用户管理

简介: 10月更文挑战第12天

在 MongoDB 中进行用户管理涉及用户的创建、分配角色、认证和登录等操作。

下面是一个详细的说明,包含如何使用 MongoDB Shell (mongo) 或 MongoDB Compass 来管理用户。

使用 MongoDB Shell (mongo) 管理用户

以下是使用 MongoDB Shell (mongosh) 进行用户管理的详细说明,包括创建用户、分配角色、认证和登录的具体步骤。

1. 连接到 MongoDB

首先,打开你的终端并使用 mongosh 命令连接到 MongoDB 服务器:

mongosh --host <hostname> --port <port>

说明:

  • mongosh:启动 MongoDB Shell 命令行工具。
  • --host <hostname>:指定 MongoDB 服务器的主机名或 IP 地址。
  • <hostname>:MongoDB 服务器的主机名(如 localhost)或 IP 地址(如 127.0.0.1)。
  • --port <port>:指定 MongoDB 服务器的端口号。
  • <port>:MongoDB 服务器监听的端口号,默认端口是 27017

2. 切换到目标数据库

在 MongoDB 中,用户是针对特定数据库创建的,使用 use 命令切换到你要创建用户的数据库:

use <database_name>

  • database_name - 为要切换的数据库。

3. 创建用户

使用 db.createUser 命令创建用户并分配角色。

例如,创建一个名为 testuser 的用户,密码为 password123,并赋予 readWrite 和 dbAdmin 角色:

db.createUser({

 user: "testuser",

 pwd: "password123",

 roles: [

   { role: "readWrite", db: "<database_name>" },

   { role: "dbAdmin", db: "<database_name>" }

 ]

})

4. 验证用户

创建用户后,你可以使用 db.auth 命令验证用户身份:

db.auth("testuser", "password123")

5. 启用身份验证

为了确保只有经过身份验证的用户才能访问 MongoDB,需要启用身份验证。

编辑 MongoDB 配置文件 mongod.conf,并在其中添加以下内容:

security:

 authorization: "enabled"

然后重启 MongoDB 服务以应用更改。

6. 使用用户身份登录

启用身份验证后,你需要使用创建的用户身份连接到 MongoDB:

mongosh --host <hostname> --port <port> -u "testuser" -p "password123" --authenticationDatabase "<database_name>"

7. 删除用户

使用 db.dropUser 命令删除指定用户。

例如,删除名为 testuser 的用户:

db.dropUser("testuser")

实例操作

以下是一个完整的示例操作流程:

启动 MongoDB Shell 并连接到服务器:

mongosh --host localhost --port 27017

切换到 testdb 数据库:

use testdb

创建 testuser 用户:

db.createUser({

 user: "testuser",

 pwd: "password123",

 roles: [{ role: "readWrite", db: "testdb" }]

})

启用身份验证并重启 MongoDB 实例

编辑 mongod.conf 文件,添加以下内容:

security:

 authorization: "enabled"

重启 MongoDB 服务:

sudo systemctl restart mongod

使用 testuser 用户进行身份验证连接:

mongosh --host localhost --port 27017 -u "testuser" -p "password123" --authenticationDatabase "testdb"

删除 testuser 用户:

db.dropUser("testuser")

目录
相关文章
|
Docker Windows 容器
cpu不支持avx指令集怎么办
如果CPU不支持AVX指令集,可以考虑以下两种解决方案: 更新BIOS版本:在某些情况下,更新BIOS版本可能会支持AVX指令集。可以联系电脑厂商或者查阅相关教程进行BIOS更新。 更换支持AVX指令集的CPU:如果更新BIOS版本后仍不支持AVX指令集,那么可以考虑更换支持AVX指令集的CPU。可以根据自己的需求和预算选择适合的CPU。 另外,如果在tf1.6以后的官方的tf包都是用AVX编译的,而电脑的CPU不支持AVX指令集,那么可以考虑使用Docker来配置运行环境。但需要注意,Docker在Windows上配置稍显繁琐,并需要配置虚拟机等其他东西。 总的来说,如果不支持AVX指令
9466 1
|
4月前
|
人工智能 安全 JavaScript
【OpenClaw小龙虾饱满级教程】1分钟阿里云/本地部署配置免费API+10个必装Skill及常见问题解答
OpenClaw部署完成、模型配置就绪,却卡在了技能选择环节?打开ClawHub技能市场,13729个技能密密麻麻排列,从编程工具到图像生成,从浏览器自动化到深度研究,让人眼花缭乱。事实上,90%的技能对普通用户而言形同虚设,只有10%的“基础设施级”技能,能让OpenClaw真正从“聊天工具”升级为“能打能干活”的AI助手。
2555 1
|
监控 NoSQL MongoDB
MongoDB的用户管理总结
这篇文章总结了MongoDB的用户管理,包括用户创建、角色分配、用户认证、账号密码配置以及用户删除等操作。
1801 1
|
NoSQL Linux MongoDB
MongoDB配置用户名和密码
MongoDB配置用户名和密码
3057 0
|
JSON NoSQL 安全
MongoDB的导入导出、备份恢复总结
这篇文章是关于MongoDB的导入导出、备份恢复操作的总结。
4955 4
|
11月前
|
存储 NoSQL Shell
MongoDB 安装与启动指南
本文档为MongoDB安装与启动指南,涵盖Windows及Linux系统的安装步骤、配置文件设置、服务启动与连接方法,以及服务停止操作。内容包括MongoDB下载、目录创建、命令行及配置文件启动方式,同时提供Shell连接、图形化工具Compass使用说明,并详解Linux环境下生产部署与防火墙设置,确保服务安全启动与关闭。
1628 0
|
域名解析 网络协议 安全
DNS服务器地址大全
DNS(域名系统)是互联网的“电话簿”,将域名解析为IP地址。选择优质DNS服务器可提升网络速度、降低延迟。以下是全球及中国各运营商的DNS服务器列表,包括公共DNS(如Google DNS、Cloudflare DNS)、中国电信、联通、移动等。根据地理位置、稳定性、安全性与隐私保护等因素选择适合的DNS服务器,优化上网体验。
52145 6
|
存储 NoSQL Linux
MongoDB单机部署
本文介绍了在Windows和Linux系统上安装与启动MongoDB的方法,包括命令行参数启动和配置文件启动两种方式。详细说明了创建数据目录、配置文件的编写及常见问题解决方法。同时,还提供了通过mongo命令连接数据库的操作,以及使用MongoDB Compass图形化客户端的方式。对于Linux系统,重点讲解了从下载到配置、启动服务的全过程,并涉及防火墙设置和关闭服务的方法,帮助用户顺利完成单机环境下的MongoDB部署与管理。
MongoDB单机部署
|
存储 NoSQL Shell
MongoDB 创建数据库
10月更文挑战第12天
892 4
|
Java UED Spring
Springboot通过SSE实现实时消息返回
通过Spring Boot实现SSE,可以简单高效地将实时消息推送给客户端。虽然SSE有其限制,但对于许多实时消息推送场景而言,它提供了一种简洁而强大的解决方案。在实际开发中,根据具体需求选择合适的技术,可以提高系统的性能和用户体验。希望本文能帮助你深入理解Spring Boot中SSE的实现和应用。
7684 1