MongoDB 安装与配置

MongoDB 安装与配置

MongoDB 是一个高性能、开源的 NoSQL 数据库,它提供了丰富的查询功能和高可用性。本文将详细讲解 MongoDB 的安装与配置过程。

1. MongoDB 安装

1.1 Windows 平台安装

  1. 下载 MongoDB 安装包

访问 MongoDB 官方下载页面(https://www.mongodb.com/try/download/community ),选择适合的 Windows 版本,并点击下载。

  1. 安装 MongoDB

双击下载好的安装包,启动安装向导。在安装过程中,可以选择“Complete”(完整安装)或“Custom”(自定义安装)模式。如果没有特殊需求,建议选择“Complete”模式。

  1. 配置 MongoDB

安装完成后,需要配置 MongoDB。首先,创建一个用于存储数据的文件夹,例如 C:\data\db。然后,在 MongoDB 安装目录下的 bin 文件夹中找到 mongod.cfg 文件,用文本编辑器打开并修改如下内容:

storage:dbPath: C:\data\db

这里我们将数据存储路径设置为刚刚创建的文件夹。

  1. 安装 MongoDB 服务

打开命令提示符(以管理员身份运行),切换到 MongoDB 安装目录下的 bin 文件夹,执行以下命令安装 MongoDB 服务:

mongod.exe --config "C:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg" --install

这里需要根据实际的 MongoDB 版本和安装路径进行修改。

  1. 启动 MongoDB 服务

执行以下命令启动 MongoDB 服务:

net start MongoDB

至此,MongoDB 已经成功安装并启动。

1.2 Linux 平台安装(以 Ubuntu 为例)

  1. 导入 MongoDB 公钥

执行以下命令导入 MongoDB 公钥,以确保安装包的完整性:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
  1. 添加 MongoDB 源

创建 /etc/apt/sources.list.d/mongodb-org-4.4.list 文件,并添加以下内容:

deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse

这里以 Ubuntu 20.04(Focal)为例,其他版本请参考官方文档。

  1. 安装 MongoDB

更新软件包列表,并安装 MongoDB:

sudo apt-get update
sudo apt-get install -y mongodb-org
  1. 启动 MongoDB 服务

执行以下命令启动 MongoDB 服务:

sudo systemctl start mongod
  1. 设置开机启动

执行以下命令设置 MongoDB 服务开机启动:

sudo systemctl enable mongod

至此,MongoDB 已经成功安装并启动。

2. MongoDB 配置

2.1 配置文件

MongoDB 的配置文件(例如 mongod.cfg/etc/mongod.conf)采用 YAML 格式,包含了许多配置选项。以下是一些常用的配置选项:

  • storage.dbPath:数据存储路径。
  • systemLog.path:日志文件路径。
  • systemLog.logAppend:是否在日志文件末尾追加内容。
  • net.bindIp:绑定的 IP 地址。
  • net.port:监听的端口号。
  • security.authorization:是否启用用户认证。

2.2 用户认证

为了提高安全性,我们可以启用 MongoDB 的用户认证功能。首先,修改配置文件,将 security.authorization 设置为 enabled

security:authorization: enabled

然后,重启 MongoDB 服务使配置生效。接下来,我们需要创建一个管理员用户。首先,使用 mongo 命令连接到 MongoDB:

mongo

mongo shell 中,切换到 admin 数据库,并创建一个管理员用户:

use admin
db.createUser({user: "admin",pwd: "your_password",roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})

这里我们创建了一个名为 admin 的用户,并为其分配了 userAdminAnyDatabase 角色,该角色允许用户管理任何数据库的用户。请将 your_password 替换为实际的密码。

创建管理员用户后,我们可以使用以下命令以管理员身份连接到 MongoDB:

mongo --username admin --password your_password --authenticationDatabase admin

在实际应用中,我们通常需要为每个数据库创建单独的用户。例如,我们可以为名为 mydb 的数据库创建一个用户:

use mydb
db.createUser({user: "mydb_user",pwd: "your_password",roles: [{ role: "readWrite", db: "mydb" }]
})

这里我们创建了一个名为 mydb_user 的用户,并为其分配了 readWrite 角色,该角色允许用户读写 mydb 数据库。请将 your_password 替换为实际的密码。

总结

本文详细介绍了 MongoDB 的安装与配置过程,包括在 Windows 和 Linux 平台上的安装,以及配置文件和用户认证的设置。在实际应用中,我们需要根据需求和环境来选择合适的安装方式和配置选项。同时,为了提高安全性,我们应该启用用户认证功能,并为每个数据库创建单独的用户。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/135966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QtC++与QPushButton详解

介绍 QPushButton 是 Qt 中的按钮控件,通常用于用户界面,允许用户与应用程序进行交互。以下是对 QPushButton 在 Qt 中的详细解释和作用: 触发事件: QPushButton 是用户界面中最常用的按钮,用户可以点击它来触发特定事…

常用设计模式——策略模式

策略模式是什么 策略模式(Strategy):针对一组算法,将每一个算法封装起来,从而使得它们可以相互替换。 比如我们一个软件的会员等级,每一个等级都会有对应的一些等级权益,那么每一个等级权益就…

Maven中的继承与聚合

一,继承 前面我们将项目拆分成各个小模块,但是每个小模块中有很多相同的依赖于是我们创建一个父工程将模块中相同的依赖定义在父工程中,然后子工程继承父工程Maven作用:简化依赖配置,统一依赖管理,可以实现多重继承像J…

MySQL的存储过程

存储过程:是一组为了完成特定功能的sql语句的集合,类似于函数 写好一个存储过程之后,我们可以像函数一样随时可以调用sql的集合 复杂的,需要很多sql语句联合执行完成的任务 存储过程在执行上比sql语句执行速度快,效率…

财报解读:抢滩“睡眠经济”,麒盛科技如何制胜市场?

现代市场经济理论的鼻祖亚当斯密曾说,有需求就有市场,有市场才有发展。 调查研究显示,我国超3亿人存在睡眠障碍,其中超3/4的人晚11点以后入睡,近1/3的人熬到凌晨1点以后才能入睡。针对“睡个好觉”需求的“睡眠经济”…

动态内存管理(上)

目录 为什么要有动态内存分配malloc和freemallocfree calloc和realloccallocrealloc 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒 个人主页 🥸🥸🥸 C语言 🐿️&…

有关python库

官方库 #1、导入某模块 import os #2、导入OS模块中的system方法 from os import system #3、导入某模块中的孙子模块中的xx方法,并重命名 from module.xx.xx import xx as rename #4、导入OS中的所有模块 #不用进行OS.method(),直接method(&#xff0…

RRC configured BWP

TS 38.822有UE BWP 相关能力 IE的详细介绍,如下图。 举例说明,对于UE上报bwp-SameNumerology=upto2时,根据上图中的描述,UE支持能力情况如下:每个carrier最多支持2 个UE specific RRC configured DL/UL BWPs;可以通过DCI和BWP-InactivityTimer主动切换BWP;每个carrier的…

Linux安装Python3.10与部署flask项目实战详细记录

java开发新手入门Python,创建flask后端服务对外提供访问.记录一下在阿里云服务器部署flask项目的操作过程,简单介绍一下使用的阿里云服务器系统配置:ubantu16.04,其他内核版本操作部分命令会有所区别,下面开始详细操作过程! 1.pycharm创建flask项目并打包 2.Python3.…

Linux下使用python统计某个pid的进程的CPU利用率和MEM大小差值

# -*- coding:utf-8 -*- import subprocess import time import sys #支持命令行传参。传入你想测的pid值 pid sys.argv[1] # 第一个时间点的pid的进程信息 proc_info_1 subprocess.check_output("pidstat -r -u -p {}".format(pid), shellTrue).decode(utf-8) tim…

【React】04.MVC模式和MVVM模式

React是Web前端框架 1、目前市面上比较主流的前端框架 ReactAngular(NG框架)Vue 主流的思想: 不在直接去操作DOM,而是改为“数据驱动思想” 操作DOM思想: 操作DOM比较消耗性能[主要原因就是,可能会导…

基于开源项目OCR做一个探究(chineseocr_lite)

背景:基于图片识别的技术有很多,应用与各行各业,我们公司围绕电子身份证识别自动录入需求开展,以下是我的研究心得 技术栈:python3.6,chineseocr_lite的onnx推理 环境部署:直接上截图&#xff…

Linux shell编程学习笔记22: () $() (()) 的用法小结

最近学习Linux Shell编程,对 () (()) [] [[]]等符号的用法还是有点分不太清楚,于是决定再梳理一下。今天先整理 () $() (()) 的用法。 1 单小括号() 1.1 子shell(命令组) 括号中的命令将会新开一个子shell顺序执行,所…

基于nginx在视频播放器与服务器之间反向代理流程

1 服务器部署 由于我手里只有内网服务器,可以使用,因此在部署nginx代理服务器,使之在播放器和服务器之间实现反向代理并且缓存内容之前,需要做内网穿透,获得可与外界进行通信的地址。 如果想进行内网穿透,…

使用 AIGC ,ChatGPT 快速合并Excel工作薄

职场数据处理,数据分析汇报与统计的过程中,经常会遇到这样的一个问题那就是需要统计的数据源在多个文件中,多个工作薄中,如果要进行数据处理,汇总的时候会很不方便 例如: 如果要汇总6个月的数据可能就得需…

初步利用Ansible实现批量服务器自动化管理

1.Ansible介绍 Ansible是一款开源的自动化运维工具, 在2012年由Michael DeHaan创建, 现在由Red Hat维护。Ansible是基于Python开发的,采用YAML语言编写自动化脚本playbook, 可以在Linux、Unix等系统上运行, 通过SSH协议管理节点, 无需在被管理节点安装agent。Ansible以其简单、…

6-爬虫-scrapy解析数据(使用css选择器解析数据、xpath 解析数据)、 配置文件

1 scrapy解析数据 1.1 使用css选择器解析数据 1.2 xpath 解析数据 2 配置文件 3 整站爬取博客–》爬取详情–》数据传递 scrapy 爬虫框架补充 # 1 打码平台---》破解验证码-数字字母:ddddocr-计算题,滑块,成语。。。-云打码,超…

AI:69-基于深度学习的音乐推荐

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

索引和事务

文章目录 一、索引1.1 概念1.2 作用1.3 使用场景1.4 使用 二、事务2.1 为什么要使用事务2.2 事务的概念2.3 事务的使用 三、内容重点总结 一、索引 1.1 概念 索引是一种特殊的文件,包含对数据表所有记录的引用指针。在MySQL中,索引是基于一个或多个列的…

【紫光同创国产FPGA教程】——PDS安装教程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 一:软件简介 PangoDesign Suite是紫光同创基于多年FPGA开发软件技术攻关与工程实践经验而研发的一款拥有国产自主知识产权的大规模FPGA开…