Linux服务器安装部署最新稳定版本mongoDB社区版- Ubuntu-20.04版本

news2024/12/24 9:18:03

没有玩过mongoDB,安装一次真🤬波折,再次建议大家安装之前,一定要确定好服务器的操作系统,可以参考查看linux操作系统版本:Ubuntu?Centos?还是其他?
接前面在本地自测需要安装mongoDB写的一篇博客:mac 安装部署mongoDB社区版,今天出一篇在Linux-Ubuntu 系统上的安装教程

目录

  • 先决条件
  • 前言
  • Ubuntu 系统安装 MongoDB 最新稳定社区版
    • 一、安装 MongoDB 社区版
      • 1.导入包管理系统使用的公钥
      • 2.为 MongoDB 创建文件
        • Ubuntu 20.04版本
        • Ubuntu 18.04 版本
        • Ubuntu 16.04 版本
      • 3.重新加载本地包数据库
      • 4.安装 MongoDB 包
    • 二、运行 MongoDB 社区版
      • 数据和日志目录
      • 配置文件
      • 1.初始化系统
        • (1)新版本-systemd系统
          • a.启动 MongoDB
          • b.验证 MongoDB 是否已成功启动
          • c.停止 MongoDB
          • d.重启 MongoDB
          • e.使用 MongoDB
        • (2)旧版本-init系统
          • a.启动 MongoDB
          • b.验证MongoDB是否启动成功
          • c.停止 MongoDB
          • d.重启 MongoDB
          • e.使用 MongoDB
    • 三、卸载 MongoDB 社区版(反正我没搞)

先决条件

  1. 再次强调一下,确认好服务器的操作系统版本,可参考:查看linux操作系统版本
  2. 是否是mongoDB支持的版本,如下仅支持的Ubuntu版本

在这里插入图片描述

前言

Linux其他系统可直接参考官网:在 Linux 上安装 MongoDB 社区版

如下,包括Ubuntu系统在内的所有教程都用

在这里插入图片描述

下面仅以我实操Ubuntu系统安装过程讲解(其实也是跟随mongo官网走了一遍),废话不多说,上干货

Ubuntu 系统安装 MongoDB 最新稳定社区版

一、安装 MongoDB 社区版

1.导入包管理系统使用的公钥

终端执行以下命令----(目的:以从中导入 MongoDB 公共 GPG 密钥)

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

成功执行完如下显示 OK
在这里插入图片描述

如果有报错提示gnupg未安装
可以执行下面两步

  1. 使用以下命令安装gnupg及其所需的库:
sudo apt-get install gnupg
  1. 安装后,重试导入密钥:
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

2.为 MongoDB 创建文件

这里就需要知道Ubuntu系统的小版本号了,如果不清楚,依然参考:查看linux操作系统版本
不同版本号执行的命令不同

选择对应的 Ubuntu 版本执行如下命令
(目的:创建文件- /etc/apt/sources.list.d/mongodb-org-5.0.list)

Ubuntu 20.04版本

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

我的是Ubuntu 20.04版本

执行命令
在这里插入图片描述
执行完检查,已然创建了该文件
在这里插入图片描述


Ubuntu 18.04 版本

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

Ubuntu 16.04 版本

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

3.重新加载本地包数据库

执行如下命令

sudo apt-get update

执行命令截图,如图最下面,出现Reading package lists… Done,即执行完成
在这里插入图片描述

4.安装 MongoDB 包

这里可以选择安装最新稳定版本的 MongoDB 或特定版本的 MongoDB

我是安装的最新稳定版本,至于特定版本也没那个需求,就不赘述了,有需要的可以翻上面的mongo官网参考

安装命令如下

sudo apt-get install -y mongodb-org

执行命令中。。。
在这里插入图片描述
安装完成如下
在这里插入图片描述

OK了,安装步骤到此圆满结束,我们开启运行mongo之旅


二、运行 MongoDB 社区版

在运行之前,先看一下数据和日志存放目录,以及配置文件,或者可以先跳过直接看初始化系统

数据和日志目录

如果是根据我上面的流程通过包管理器安装的,那么数据目录 /var/lib/mongodb和日志目录/var/log/mongodb会在安装过程中创建

数据和日志目录如下图
在这里插入图片描述

默认情况下,MongoDB 使用mongodb用户帐户运行。如果更改运行 MongoDB 进程的用户,则还必须修改对数据和日志目录的权限,以授予该用户访问这些目录的权限。

配置文件

官方 MongoDB 包中包含一个配置文件( /etc/mongod.conf)。这些设置(例如数据目录和日志目录规范)在启动时生效。也就是说,如果在MongoDB实例运行时更改配置文件,必须重启实例才能使更改生效。

配置文件如下
在这里插入图片描述

1.初始化系统

要运行和管理mongod进程,需要使用操作系统的内置初始化系统。

  • 最新版本的 Linux 倾向于使用systemd(使用systemctl命令)
  • 旧版本的 Linux 倾向于使用System V init(使用service命令)。

不确定使用的哪个 init 系统,可运行以下命令:

ps --no-headers -o comm 1

如下,我是systemd

在这里插入图片描述
下面分init 系统展开

(1)新版本-systemd系统

因为我的就是systemd系统,所以这部分会附加一些实操截图

a.启动 MongoDB

执行如下启动命令

sudo systemctl start mongod

在这里插入图片描述
如果在启动时收到类似如下的错误 mongod
Failed to start mongod.service: Unit mongod.service not found.
需要先运行以下命令:

sudo systemctl daemon-reload

然后再次运行启动命令

sudo systemctl start mongod
b.验证 MongoDB 是否已成功启动
sudo systemctl status mongod

成功启动则如下截图展示
在这里插入图片描述
如果想确保系统重启后仍然启动MongoDB,可通过如下命令设置:

sudo systemctl enable mongod
c.停止 MongoDB
sudo systemctl stop mongod
d.重启 MongoDB
sudo systemctl restart mongod
e.使用 MongoDB

运行以下命令默认连接端口 27017的mongod

mongosh

如下图进入了,可以进行使用了
在这里插入图片描述

(2)旧版本-init系统

a.启动 MongoDB
sudo service mongod start
b.验证MongoDB是否启动成功
sudo service mongod status

还可以检查日志文件查看 mongod进程的当前状态,默认: /var/log/mongodb/mongod.log
如果是正在运行的 mongod实例展示如下:

[initandlisten] waiting for connections on port 27017
c.停止 MongoDB
sudo service mongod stop
d.重启 MongoDB
sudo service mongod restart
e.使用 MongoDB

默认连接端口 27017的mongod

mongosh

三、卸载 MongoDB 社区版(反正我没搞)

这个就不多说了
大家需要的话照样参考上面mongo官网去尝试吧🤦‍♂️,我实在不敢招惹mongoDB了,怕了怕了
在这里插入图片描述

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

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

相关文章

解决jupyter下载好了库,但是无法使用的问题。以及补充jupyter如何下载新的库。

文章目录出现原因验证解决步骤补充国内常用镜像源出现原因 出现这个问题的主要原因是,jupyter的内核(或者说他使用的Python环境)与下载库的环境不一样,解决办法就是更改kernel。换句话说就是将jupyter下载库的环境加入到内核环境…

模拟双色球系统——Java

目录 一、内容简介 二、 基本流程 三、具体步骤 1.菜单栏 2.随机生成幸运号码 3.用户输入 4.判断中奖情况 5.打印数组 四、代码实现 五、效果展示 一、内容简介 双色球是彩票的一种玩法,规则如下: 红球一共6组,每组从1——33中随…

微信h5 使用jssdk支付成功后,点击完成 页面关闭了,引出微信“点金计划“

可能会迷惑 为啥我们之前没有碰见过这种情况! 这样的情况只有两种情况,就是 你只是普通商户不是微信特约商户你的支付跳转功能还未被微信回收 那么怎么才能支付成功重新跳回自己的网站页面 刚开始经历这种情况的童鞋, 可能有点懵逼 先看个微信的之前发的一个公告吧 微信支付公…

面试系列分布式事务:谈谈3PC的理解

3PC就是三阶段提交是在二阶段提交上的改进版本,3PC最关键要解决的就是协调者和参与者同时挂掉的问题,所以3PC把2PC的准备阶段再次一分为二,这样三阶段提交。处理流程如下 : 阶段一 a) 协调者向所有参与者发出包含事务内容的 canCo…

【深入浅出Java并发编程指南】「实战篇」教你如何使用AbstractQueuedSynchronizer实现自己的同步器组件

前提概要 之前的文章中会涉及到了相关AQS的原理和相关源码的分析,所谓实践是检验真理的唯一标准!接下来就让我们活化一下AQS技术,主要针对于自己动手实现一个AQS同步器。 定义MyLock实现Lock Doug Lea大神在JDK1.5编写了一个Lock接口&#xf…

【C++】模拟实现STL容器:vector

目录 一、vector迭代器失效问题 1、Visual Studio和g对迭代器失效问题的表现 2、解决迭代器失效的方法 二、模拟实现构造函数调用不明确 1、问题描述 2、解决调用不明确的方法 三、reserve中的深浅拷贝问题 1、reserve中浅拷贝发生原因 2、浅拷贝发生的图解 3、解决方…

vue.js毕业设计,基于vue.js前后端分离外卖点餐系统设计与实现(H5移动项目)

功能介绍 【后台管理员功能】 会员列表:查看所有注册会员信息,支持删除 录入资讯:录入资讯标题、内容等信息 管理资讯:查看已录入资讯列表,支持删除和修改 广告设置:上传图片和设置小程序首页轮播图广告地…

用Python代码画世界杯吉祥物拉伊卜(附代码)

用Python代码画世界杯吉祥物拉伊卜(附代码) 世界杯正在火热进行中,世界杯的吉祥物拉伊卜也非常火。 本文用Python代码画世界杯吉祥物。不废话,可以直接先看视频效果。 视频效果 用Python代码画世界杯吉祥物拉伊卜实现方法介绍 …

运用滤波反投影的方法对图像进行重建matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 直接由正弦图得到反投影图像,会存在严重的模糊,这是早期 CT 系统所存在的问题。傅立叶中心切片定理表明,投影的一维傅立叶变换是得到投影区域的二维傅…

360安全卫士弹窗广告怎么彻底关闭

如何关闭360广告弹窗?有时候我们在电脑上看一些视频或者整理一些文件时,经常莫名其妙会出现一些广告弹窗,即使是关了也还会出现,很是影响用户体验感,那么怎么彻底关闭呢?下面给大家介绍具体教程&#xff0c…

【单目3D目标检测】GUPNet论文精读与代码解析

文章目录PrefaceAbstractContributionsPipelineBackboneNeckHeadLossGUPIn PaperIn CodeHTLIn PaperIn CodeRefernecePreface Lu Y, Ma X, Yang L, et al. Geometry uncertainty projection network for monocular 3d object detection[C]. Proceedings of the IEEE/CVF Intern…

ActivitiListener

ActivitiListener目录概述需求:设计思路实现思路分析1.ActivitiListener2.Activity3.Gateway5.FieldExtensionIOSpecification参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip ha…

骨传导原理是什么?哪些骨传导耳机值得入手

​骨传导耳机是目前耳机市场比较流行耳机,深受年轻一族和运动达人的喜爱。但尽管这种产品受到很多人的青睐,相较传统耳机,大众对骨传导耳机的认识和程度并不高,也有很多小伙伴不知道骨传导耳机的原理是怎么发声的,骨传…

Vue子组件传自定义属性给父组件

我们知道组件之间是不能够之间进行通信的,都是相互独立的,你用不了我的状态和方法,我也用不了你的,那如何实现通信呢,可以间接实现; 实现父组件和子组件的通信: 子组件想用父组件的状态需要父…

Java并发之线程池

文章目录前言一、Java中线程池概览1.1 类图1.2 内部流程图二、源码探索2.1 构造参数2.2 线程池状态2.3 Worker 的添加和运行2.4 阻塞队列2.5 任务拒绝策略三、实际使用3.1 动态线程池3.2 拓展使用3.3 springboot 中线程池参考前言 在高并发的 Java 程序设计中,编写…

数字化安全生产平台 DPS 重磅发布

11 月 5 日,在 2022 杭州 云栖大会上,数字化安全生产平台 DPS 重磅发布,助力传统运维向 SRE 转型。 阿里巴巴资深技术专家 周洋 十四五规划下,各行各业全面加速数字化转型与升级。随着企业数字化业务规模变大,迭代速…

Dubbo服务远程调用的简介及使用教程

一、Dubbo的简介 Dubbo是阿里巴巴公司开源的一个高性能、轻量级的 Java RPC 框架。 致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。 官网:https://dubbo.apache.org/ SOA架构:(Service-Oriented Arch…

华为云RDS数据库测评:性能超出预期,双11优惠还在继续

一、前言 作为一名电商行业公司的员工,深刻体会到系统大压力、高并发下保证服务的正常使用是多么严峻的挑战。双11这段时间,因为激增的使用量让我们的数据库服务严重吃紧,压力特别的大,甚至还出现了交易漏单,脏数据等…

【Servlet】3:Servlet 的基本原理、Servlet对象的生命周期

目录 第五章 | 动态资源与Servlet | 章节概述 | Tomcat与Servlet的 原理、关系 Tomcat的基本构成​编辑 Server处理HTTP请求 Connector内部架构分析 Container内部架构分析 Tomcat的执行流程小结 | Servlet 概述、接口实现 Servlet的基本概述 实现Servlet接口并通过U…

LeetCode HOT 100 —— 10.正则表达式匹配

题目 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符 ‘*’ 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 思路 对于字符串…