记录MongoDB的安装配置及权限

Ⅰ、安装前的简介:

1、什么是 MongoDB 数据库?

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统;在高负载的情况下,添加更多的节点,可以保证服务器性能;MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案;MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成;MongoDB 文档类似于 JSON 对象。

2、什么是 compass工具 ?

compass是指:通过图形化(或界面)的方式来操作 Mongodb 数据库的可视化工具; 对,它也是一个软件,也是一个工具,也是在 MongoDB 官网中可找到并下载的;

安装

  • 官网下载适合自己的版本。
  • 安装到该步骤时的,Custom 是指可以到你想安装的D盘或其他盘中;
  • 你可以通过选择安装到 'E盘' 或 'D盘' 等你自己建的文件夹的位置上

-该步骤直接默认是 'Run service as Network Service user'即可

  • 这里是图形化界面,这里一定要取消勾选,先不安装图形化工具,否则时间非常非常长
  • MongoDB 数据库的安装就结束了

配置 MongoDB 数据库的环境

  • 搜索
  • 配置环境变量

运行 MongoDB 服务

  • 运行配置文件 mongod.exe --config "E:\MongoDB\Server\4.2\mongod.cfg" --install

创建权限

  • 使用mongo 连接数据库
  • show dbs 查看数据库
  • use admin 使用admin -创建数据库admin超级管理员
js 复制代码
db.createUser({
     user:'admin',
     pwd:'123456',
     roles:[{role:'root',db:'admin'}]
})

-在配置文件中添加

js 复制代码
security:
    authorization:enabled   
  • 打开服务找到MongoDB服务重启服务
  • 右键重启该服务

角色分类

1. 数据库用户角色

  • read: 允许用户读取指定数据库中的数据。
  • readWrite: 允许用户读取和写入指定数据库中的数据。

2. 数据库管理角色

  • dbAdmin: 允许用户在指定数据库中执行管理操作,如索引创建、删除等。
  • dbOwner: 允许用户执行指定数据库的所有管理操作,包括读写和管理。

3. 集群管理角色

  • clusterAdmin: 允许用户在整个集群中执行管理操作,如分片和复制集的管理。
  • clusterManager: 允许用户管理集群中的配置,但不能执行某些敏感操作。
  • clusterMonitor: 允许用户监视集群状态和性能。
  • hostManager: 允许用户管理 MongoDB 进程的配置和状态。

4. 备份恢复角色

  • backup: 允许用户执行备份操作。
  • restore: 允许用户执行恢复操作。

5. 所有数据库角色

  • readAnyDatabase: 允许用户在任何数据库中进行读取操作。
  • readWriteAnyDatabase: 允许用户在任何数据库中进行读写操作。
  • userAdminAnyDatabase: 允许用户在任何数据库中进行用户管理操作。

6. 超级用户角色

  • root: 超级用户角色,拥有对整个 MongoDB 实例的完全管理权限。

你可以根据需要将这些角色分配给不同的用户,以实现合适的权限控制和管理。

其它操作

登录用户

css 复制代码
mongo admin -u 用户名 -p 密码 i

查看当前数据库下的用户

bash 复制代码
show users

删除用户

arduino 复制代码
db.dropUser("username")

修改用户密码

arduino 复制代码
db.changeUserPassword("username", "newpassword")

密码认证

arduino 复制代码
db.auth("username", "password")
相关推荐
吴声子夜歌1 分钟前
Redis 3.x——集群故障转移
java·数据库·redis·集群
名不经传的养虾人4 分钟前
从0到1:企业级AI项目迭代日记 Vol.71|系统显示正常,但实际上什么都没发生
数据库·人工智能·ai编程·ai工作流·企业ai
尽兴-7 分钟前
企业数据库选型与演进:Oracle、达梦、MySQL 与分库分表实践
数据库·mysql·oracle·分库分表
空中湖1 小时前
Spring AI Function Calling 完全指南:让 AI 查数据库、调 API、发通知
数据库·人工智能·spring
金伟API10242 小时前
常见的SQL面试题:经典50例
数据库·人工智能·笔记·sql·学习
谜之锋2 小时前
银河麒麟 Debian 系统离线deb包安装Mariadb 数据库指南
数据库·debian·mariadb
Leighteen2 小时前
MongoDB 文档模型设计:从关系型思维到文档型思维的转变
数据库·mongodb
CodexDave3 小时前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes
播播资源3 小时前
智能路由(AI Router):用“虚拟模型”撬动无限算力,从此告别手动切换
数据库
熊文豪4 小时前
【金仓数据库征文】不装中间件的 MySQL→金仓在线迁移,mysql_fdw 全流程,和一个差点漏掉的 emoji
数据库·mysql·中间件·电科金仓