MongoDB 用户管理

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 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")

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
安全 NoSQL MongoDB
20 MongoDB高级 - 用户管理安全
20 MongoDB高级 - 用户管理安全
71 1
|
2月前
|
监控 NoSQL MongoDB
MongoDB的用户管理总结
这篇文章总结了MongoDB的用户管理,包括用户创建、角色分配、用户认证、账号密码配置以及用户删除等操作。
58 1
|
3月前
|
存储 关系型数据库 数据库
[postgresql]用户管理
[postgresql]用户管理
|
5月前
|
存储 关系型数据库 MySQL
【MySQL】用户管理
【MySQL】用户管理
|
存储 关系型数据库 MySQL
Mysql 用户管理
Mysql 用户管理
63 0
|
NoSQL MongoDB 数据库
二.MongoDB入门-Mongodb权限管理
MongoDB入门-Mongodb权限管理
|
NoSQL MongoDB 数据库
mongodb用户权限管理
用户权限管理简要说明
718 0
|
关系型数据库 MySQL 数据库
mysql用户管理
mysql用户管理
229 0
|
NoSQL Shell MongoDB
MongoDB各版本添加用户
mongo各版本添加用户命令
1201 0
|
NoSQL 数据库 索引
下一篇
无影云桌面