帮助中心/最新通知

质量为本、客户为根、勇于拼搏、务实创新

< 返回文章列表

【服务器相关】MongoDB快速入门笔记(七)MongoDB的用户管理操作

发表时间:2025-06-16 03:46:00 小编:主机乐-Yutio

MongoDB 简介

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

1、修改启动MongoDB时要求用户验证

加参数 –auth 即可。

现在我们把MongoDB服务删除,再重新添加服务

2、创建用户,并使用创建的用户登录

打开shell操作界面,默认test数据,再查看所有数据库,发现报错,因为没有用户验证。

使用db.auth(“user”,”pwd”)进行用户验证。

user:用户名

pwd:密码

因为数据库中没有用户,所以需要先使用无用户验证的方式启动数据,在admin数据库下新建用户。

3、查看当前数据下的用户

show users 显示当前数据库下所有的用户

使用有用户管理权限的用户登录才能看见,例如使用zyh登录后,执行会报错;使用admin登录后,显示用户

4、修改用户信息

5、删除用户

db.dropUser(“user”) 删除指定用户
db.dropAllUsers() 删除当前数据下所有用户

附:常用内置角色说明

数据库用户角色(每个数据库都有的角色)

read 对non-system集合的读取权限,以及以下system集合的读取权限:system.indexes,system.js,system.namespaces
readWrite 对non-system集合的读写权限,以及system.js上的读写权限

数据库管理角色(每个数据库都包含的数据管理角色)
dbAdmin 完成管理性任务的权限,比如schema相关任务、索引、统计信息收集。不能用于管理用户和角色
dbOwner 管理数据库需要的所有权限。包含(readWrite、dbAdmin、userAdmin角色的权限)
userAdmin 在当前数据库创建和修改角色和用户的权限

集群管理角色

admin数据库包含以下角色用于管理整个系统,而不是只针对单个数据库
clusterAmin 提供集群管理的最大权限。包含了clusterManager、clusterMonitor、hostManager角色的权限
clusterManager 管理和监控集群,可以访问local和config数据库。
clusterMonitor 对集群的读权限
hostManager 管理和健康servers

备份和还原角色

admin数据库包含以下角色用于备份和还原数据
backup 备份权限
restore 还原权限

all-database roles
admin数据提供以下角色,对所有数据库都有效。
readAnyDatabase 提供对所有数据库的读权限
readWriteAnyDatabase 提供对所有数据库的写权限
userAdminAnyDatabase 提供对所有数据库用户的管理权限
dbAdminAnyDatabase 对所有数据库的dbAdmin权限

超级角色

角色 说明
root 拥有最高权限
另外角色也可以自定义设置

以上内容是小编给大家介绍的MongoDB快速入门笔记(七)MongoDB的用户管理操作的相关知识,希望对大家有所帮助!


联系我们
返回顶部