记录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")
相关推荐
福娃筱欢6 分钟前
SQLServer迁移至KES SQLServer模式 问题整理
数据库·oracle·sqlserver
hflmwl813 分钟前
RedisDesktopManager安装包中文版官方下载,redis可视化客户端工具下载
数据库·redis·缓存·可视化客户端工具
FluxDB37 分钟前
《用 Rust + GPUI 做了一个开源数据库客户端:FluxDB》
数据库
roman_日积跬步-终至千里37 分钟前
【数据Agent论文·查询与语义|09】Spider 2.0:从生成SQL走向完成企业工作流
数据库·sql·数据分析
曦夜日长38 分钟前
MySQL系统篇,数据库基础(二):数据库概念、SQL 分类与存储引擎
数据库·sql·mysql
泡海椒39 分钟前
JQuick-SQL AST 解析:从 SQL 文本到强类型节点
数据库·sql
要开心吖ZSH43 分钟前
SeaTunnel + Doris + MySQL-CDC 数据同步故障排查个人笔记
数据库·mysql·doris·seatunnel·mysql cdc
data analyse 4561 小时前
Session数怎么计算?明确会话切分、超时与跨页规则
java·服务器·数据库
骑着蜗牛撵大象3271 小时前
ToolJet + PostgreSQL:后台表格、查询和流程,一次搭成可远程访问的业务系统
数据库·低代码·docker·postgresql·内部工具·tooljet