当前位置: 首页 > news >正文

【MongoDB系列】1.MongoDB 6.x 在 Windows 和 Linux 下的安装教程(详细)

本文主要介绍 MongoDB 最新版本 6.x 在Windows 和 Linux 操作系统下的安装方式,和过去 4.x 、5.x 有些许不同之处,供大家参考。

Windows 安装

进入官网下载 Mongodb 安装包,点此跳转,网站会自动检测当前操作系统提供最新的版本,和适合此平台的安装包:

image-20221108200604652

除了 .msi 格式的安装包,还可以选择 .zip 压缩包:

image-20221108200656068

msi 安装

双击打开下载好的安装包,一直点击下一步:

2022-11-08_200945

勾选同意:

image-20221108204242546

选择一个完整安装:

image-20221108204326047

保持默认即可,这一步用来设置 windows 系统中 MongoDB 服务的名字,以及数据和日志的存放目录:

image-20221108204443526

去掉默认选中项,它会安装一个用于操作 MongoDB 数据库的客户端工具,推荐安装另一款 Robo 3T 或者其他你习惯用的:

image-20221108204558874

然后点下一步进行安装即可,安装过程大概三五分钟。

安装成功:

image-20221108204758533

查看 MongoDB 服务的状态

Ctrl + Shfit + Esc,打开任务管理器,切换到服务选项卡,下拉找到 MongoDB 服务。

在这里可以观察到 MongoDB 的状态,默认是自动启动,即开机自启。

2022-11-08_203851

或者打开浏览器访问 https://localhost:27017

2022-11-08_221733

MongoDB 目录

来到 MongoDB 的安装目录,默认是 C:/Program Files/MongoDB/Server/6.0,或者你选择的其他目录。

其中,bin 是 MongoDB 提供的可执行程序的目录,data 是数据存储的目录,log 是日志存储的目录。后两者在过去都需要开发者手动创建。现在安装程序会自动创建。

2022-11-08_203728

看下 bin 目录下的可执行程序, mongod.exe 用来启动 MongoDB 服务,mongos.exe 用来管理分片集群。

2022-11-08_203803

在 MongDB 6 以前,这个目录下会有很多可执行程序,比如最常用的 mongo.exe,它用来连接到 MongoDB 服务,是一个 shell 环境的客户端工具。但是现在需要单独进行安装。

安装 MongoDB Shell

点击跳转,下载压缩包:

image-20221108213028204

一直点击下一步安装即可,安装目录可使用默认,或者自定义:

2022-11-08_213239

2022-11-08_213815

访问 MongoDB 服务

在 bin 目录下,打开命令行工具,

安装完成后,进入安装目录,打开命令行工具,执行 mongosh.exe ,默认会连接 mongodb://localhost:27017 的 MongoDB 服务:

image-20221108220829813

这是一个 shell 环境,支持 JavaScript 语法,还有一些扩展的操作数据库语法,比如查看所有的数据库:

show dbs

2022-11-08_213937

设置环境变量

为了方便在各个路径下使用 MongoDB 提供的命令和 MongoDB Shell,而不用切换到 bin 目录下,可以将 bin 目录添加到环境变量中。

按 Win + S 打开搜索,输入“环境变量”:

image-20221108205823710

image-20221108205905029

双击打开 Path 变量:

image-20221108205953241

将 bin 目录添加进行保存即可:

image-20221108221536878

之后就可以在任意路径下使用 mongoshmongod 等命令了。

Linux 安装

安装 MongoDB

本文以 CentOS 8 为例,其他 Linux 版本可点此参考官方文档进行安装。

可以从官网下载好安装包,上传到服务器或者虚拟机中:

image-20221108234316369

或者直接在服务器中通过下载工具进行下载:

# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-6.0.2.tgz

查看下载好的安装包:

# ls
mongodb-linux-x86_64-rhel80-6.0.2.tgz

解压并将目录重命名为“mongodb”:

# tar -zxf mongodb-linux-x86_64-rhel80-6.0.2.tgz 
# ls
mongodb-linux-x86_64-rhel80-6.0.2  mongodb-linux-x86_64-rhel80-6.0.2.tgz  # mv mongodb-linux-x86_64-rhel80-6.0.2 mongodb

image-20221108234803120

进入安装包目录:

# cd mongodb
# ll
total 140
drwxr-xr-x 2 root root  4096 Nov  8 22:50 bin
-rw-r--r-- 1 root root 30608 Sep 29 09:07 LICENSE-Community.txt
-rw-r--r-- 1 root root 16726 Sep 29 09:07 MPL-2
-rw-r--r-- 1 root root  1977 Sep 29 09:07 README
-rw-r--r-- 1 root root 77913 Sep 29 09:07 THIRD-PARTY-NOTICES

其中,bin 目录存放数据库提供的命令:

image-20221109094325995

安装 mongodb shell

下载安装包:

# wget https://downloads.mongodb.com/compass/mongosh-1.6.0-linux-x64.tgz

解压:

# tar -zfx mongosh-1.6.0-linux-x64.tgz  

重命名解压后的目录:

# mv mongosh-1.6.0-linux-x64.tgz mongosh

mongosh/bin 目录下提供了 mongosh 命令用于连接到 MongoDB 数据库服务:

image-20221109000959627

将 bin 目录添加到 Path 中

目前 mongod 命令所在目录路径是 ~/mongodb/binmongosh 命令所在目录路径是 ~/mongosh/bin ,需要将这两个路径添加到 Path 环境变量中。

使用 vim 编辑文件:

# vim ~/.bash_profile 

Path 一行最后追加这两个目录,然后保存退出:

image-20221109001130375

然后执行source 命令,重新加载环境变量,使刚才的配置生效:

# source ~/.bash_profile

启动数据库服务

MongoDB 服务在启动时需要指定数据存储的目录。如果没有指定的话,默认会去找 /data/db/ 目录。

上面在 Windows 系统使用 msi 安装包安装时就指定好了数据目录和日志目录。如果使用的是 zip 压缩包,则默认的数据存储目录是当前磁盘卷的 \data\db\ 目录。

如果数据目录不存在或不可写,那么服务器端将无法启动。因此在启动 MongoDB 服务之前,一定要确保数据目录存在且对该目录有写权限。

先建立两个目录:

# mkdir -p /data/mongodb/data
# mkdir -p /data/mongodb/log

使用 mongod 命令启动数据库服务:

# mongod --fork --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/mongo.log
  • –fork:在基于 Unix 的系统中,使用 fork 创建服务器进程,将 MongoDB 服务作为守护进程运行。如果指定了 --fork,则必须同时指定 --logpath。
  • –dbpath:指定存放 MongoDB 数据的目录,启动服务时必须指定。
  • –logpath:默认日志是打印在命令行中的,使用该选项指定日志输出的文件。如果对此目录有写权限且文件不存在,则会自动创建该文件。如果日志文件已经存在,默认会覆盖掉该文件,并删除所有旧的日志。如果希望保留旧的日志,除了使用 --logpath 之外,还应该使用 --logappend 选项。

image-20221109001827550

连接到 MongoDB 服务

使用 mongosh 命令连接服务:

# mongsh

默认连接到 mongodb:localhost:27017

image-20221109002051449

已经正常连接到 MongoDB 服务了,之后就能在 shell 中操作数据库了。

总结

本文详细介绍了如何在 Windows、Linux 下安装最新版的 MongoDB 数据库。相比于 5.x,新版本的 MongoDB 在安装时的变化是将从前的 mongo 命令废弃,需要用户单独安装 MongoDB Shell 来操作数据库。如果不需要使用 shell ,则可以省去这一步。

相关文章:

【MongoDB系列】1.MongoDB 6.x 在 Windows 和 Linux 下的安装教程(详细)

本文主要介绍 MongoDB 最新版本 6.x 在Windows 和 Linux 操作系统下的安装方式,和过去 4.x 、5.x 有些许不同之处,供大家参考。 Windows 安装 进入官网下载 Mongodb 安装包,点此跳转,网站会自动检测当前操作系统提供最新的版本&…...

5.网络原理之初识

文章目录 1.网络发展史1.1独立模式1.2网络互连1.3局域网LAN1.3.1基于网线直连1.3.2基于集线器组建1.3.3基于交换机组建1.3.4基于交换机和路由器组建1.3.4.1路由器和交换机区别 1.4广域网WAN 2.网络通信基础2.1IP地址2.2端口号2.3认识协议2.4五元组2.5 协议分层2.5.1 分层的作用…...

【Linux】进程状态|僵尸进程|孤儿进程

前言 本文继续深入讲解进程内容——进程状态。 一个进程包含有多种状态,有运行状态,阻塞状态,挂起状态,僵尸状态,死亡状态等等,其中,阻塞状态还包含深度睡眠和浅度睡眠状态。 个人主页&#xff…...

ASEMI快恢复二极管APT80DQ60BG特点应用

编辑-Z APT80DQ60BG参数描述: 型号:APT80DQ60BG 最大峰值反向电压(VRRM):600V 最大直流阻断电压VR(DC):600V 平均整流正向电流(IF):80A 非重复峰值浪涌电流(IFSM):600A 工作接点温度和储存温度(TJ, …...

【Python爬虫】使用代理ip进行网站爬取

前言 使用代理IP进行网站爬取可以有效地隐藏你的真实IP地址,让网站难以追踪你的访问行为。本文将介绍Python如何使用代理IP进行网站爬取的实现,包括代理IP的获取、代理IP的验证、以及如何把代理IP应用到爬虫代码中。 1. 使用代理IP的好处 在进行网站爬…...

识别图片中的文字

前言 PearOCR 是一款免费无限制网页版文字识别工具。 优点如下: 免费:完全免费,没有任何次数、大小限制,可以无限使用; 安全:全部数据本地运算,所有图片均不会被上传; 智能&#xf…...

第七章:借阅管理【基于Servlet+JSP的图书管理系统】

借阅管理 1. 借书卡 1.1 查询借书卡 借书卡在正常的CRUD操作的基础上,我们还需要注意一些特殊的情况。查询信息的时候。如果是管理员则可以查询所有的信息,如果是普通用户则只能查看自己的信息。这块的控制在登录的用户信息 然后就是在Dao中处理的时候需…...

算法 for GAMES

栈 #include <iostream> #include <stack>int main() {std::stack<int> intStack;// 压入元素到堆栈intStack.push(5);intStack.push(10);intStack.push(15);// 查看堆栈顶部元素std::cout << "Top element: " << intStack.top() <…...

自研分布式IM-HubuIM RFC草案

HubuIM RFC草案 消息协议设计 基本协议 评估标准 【性能】协议传输效率&#xff0c;尽可能降低端到端的延迟&#xff0c;延迟高于200ms用户侧就会有所感知 【兼容】既要向前兼容也要向后兼容 【存储】减少消息包的大小&#xff0c;降低空间占用率&#xff0c;一个字节在亿…...

tableau基础学习1:数据源与绘图

文章目录 读取数据常用绘图方法1. 柱状图2. 饼图3. 散点图4. 热力图 第一部分是一些较容易上手的内容&#xff0c;以及比较常见的可视化内容&#xff0c;包括&#xff1a;柱状图、饼图、散点图与热力图 读取数据 打开界面后&#xff0c;选择数据源之后就可以导入数据&#xf…...

探索经典算法问题与解决方案

探索经典算法问题与解决方案 在计算机科学领域&#xff0c;有许多经典算法问题需要我们思考和解决。本文将深入介绍一些著名的经典算法问题&#xff0c;包括旅行商问题、背包问题的变种、N皇后问题、钢条切割问题、最大子数组和问题、最长公共子串问题以及矩阵连乘问题&#x…...

【Linux】DNS系统,ICMP协议,NAPT技术

遏制自己内心的知识优越感&#xff0c;才能让你发自内心的去尊重他人&#xff0c;避免狂妄自大&#xff0c;才能让你不断的丰富自己的内心。 文章目录 一、DNS系统1.DNS服务器返回域名对应的ip2.使用dig工具分析DNS过程3.浏览器中输入url后发生的事情&#xff1f; 二、ICMP协议…...

BI技巧丨Window应用之同环比

白茶曾介绍过OFFSET可以用来解决同环比的问题&#xff0c;其实微软最近推出的开窗函数WINDOW也可以用来解决同环比。 WINDOW函数基础语法 WINDOW ( from[, from_type], to[, to_type][, <relation>][, <orderBy>][, <blanks>][, <partitionBy>][, &l…...

【Mac】编译Spring 源码和Idea导入

今天我们开始Spring源码的阅读之旅。阅读Spring的源码的第一步当然是编译Spring源码。首先我们要去GitHub上将spring源码给clone下来。 笔者编译环境如下&#xff1a; Spring版本&#xff1a;5.28 https://github.com/spring-projects/spring-framework/tree/v5.2.8.RELEASE …...

手把手教你用 ANSYS workbench

ANSYS Workbench ANSYS Workbench是一款基于有限元分析&#xff08;FEA&#xff09;的工程仿真软件。其基本概念包括&#xff1a; 工作区&#xff08;Workspace&#xff09;&#xff1a;工程仿真模块都在此区域内&#xff0c;包括几何建模、网格划分、边界条件设置、分析求解等…...

Kotlin开发笔记:协程基础

Kotlin开发笔记&#xff1a;协程基础 导语 本章内容与书的第十五章相关&#xff0c;主要介绍与协程相关的知识。总的来说&#xff0c;本文将会介绍Kotlin中关于异步编程的内容&#xff0c;主要就是与协程有关。在Kotlin中协程是利用continuations数据结构构建的&#xff0c;用…...

自学设计模式(简单工厂模式、工厂模式、抽象工厂模式)

使用工厂模式来生产某类对象&#xff08;代码简化且容易维护&#xff0c;类之间有血缘关系&#xff0c;可以通过工厂类进行生产&#xff09;&#xff1b; 简单工厂模式&#xff08;用于创建简单对象&#xff09; 对于简单工厂模式&#xff0c;需要的工厂类只有一个&#xff1…...

NFS:使⽤ NFS 为远程客户端提供共享文件系统

写在前面 分享一些 nfs 搭建的笔记考试顺便整理内容涉及 nfs 服务端客户端的搭建配置理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&…...

2022-kaggle-nlp赛事:Feedback Prize - English Language Learning(超多注释讲解)

2022-kaggle-nlp赛事&#xff1a;Feedback Prize - English Language Learning 零、比赛介绍 比赛地址Feedback Prize - English Language Learning | Kaggle 0.1 比赛目标 写作是一项基本技能。可惜很少学生能够磨练&#xff0c;因为学校很少布置写作任务。学习英语作为第…...

第十三课 宾语从句

文章目录 前言一、宾语从句1、主语及物动词宾语从句2、主语双宾动词间接宾语直接宾语3、主语特定及物动词宾语从句&#xff08;作宾语&#xff09;宾补4、主语be某些形容词宾语从句5、动词不定式后面的宾语从句6、动名词后面的宾语从句7、介词后面的宾语从句9、间接引语 前言 一…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...