Ubuntu24安装MongoDB(解压版)

目录

  • 0.需求说明
  • 1.环境检查
  • 2.下载软件
    • 2.1.下载MongoDB服务端
    • 2.2.下载MongoDB连接工具(可略过)
    • 2.3.检查上传或下载的安装包
  • 3.安装MongoDB
    • 3.1.编辑系统服务
    • 3.2.启动服务
    • 3.3.客户端连接验证
      • 3.3.1.创建管理员用户
  • 4.远程访问
    • 4.1.开启远程访问
    • 4.2.开放防火墙

0.需求说明

问:mongodb 为什么需要进行解压安装?

答:日常运维过程中会要求对 软件版本 进行管理,以及针对不同Linux发行版的安装 步骤通用

1.环境检查

mongo的解压安装需下载对应系统的安装包,因此需先进行Linux发行版环境的检查。

检查命令:

# 查看Linux发行版本
cat /etc/os-release
# 查看系统架构
uname -m

输出结果1:

PRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

输出结果2:

x86_64

2.下载软件

2.1.下载MongoDB服务端

下载地址:Download

依据前面 Linux 发行版本的信息,选择你需要的版本,文件格式选择 tgz 格式,最后点击 Download(下载到你的电脑)或 点击 Copy link 左侧图标(复制下载链接在使用服务器下载)
mongo服务端下载
我这里选择下载本地电脑,后面好通过 xshell 等工具上传至服务器(由堡垒机上传至内网服务器)

在 Linux 终端执行下载命令(该命令会将文件下载到当前路径)

# 在软件包管理目录
cd /app/apps
# 使用wget命令下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-7.0.16.tgz

2.2.下载MongoDB连接工具(可略过)

MongoDB 6.x 版本之后移除了 mongo 连接工具,需要自行下载 MongoDB Shell。

如果你需要版本低于 MongoDB 6,或者无需在服务器环境下进行验证,可以选择忽略此步骤。

下载地址:Download
连接工具下载
依据前面 Linux 发行版本的信息,选择你需要的版本,文件格式选择 tgz 格式,最后点击 Download(下载到你的电脑)或 点击 Copy link 左侧图标(复制下载链接在使用服务器下载)

# 在软件包管理目录
cd /app/apps
# 使用wget命令下载
wget https://downloads.mongodb.com/compass/mongosh-2.3.9-linux-x64.tgz

2.3.检查上传或下载的安装包

连接到服务器,执行命令,切换至安装包管理目录进行查看:

# 切换至安装包路径
cd /app/apps
# 查看安装包
ll -h

检查结果为:
检查安装包

3.安装MongoDB

进入软件包管理目录进行解压安装:

# 切换至安装包路径
cd /app/apps
# 解压
tar -xvf mongodb-linux-x86_64-ubuntu2204-7.0.16.tgz
# 重命名
mv mongodb-linux-x86_64-ubuntu2204-7.0.16 mongodb-7.0.16
# 移动到安装位置
mv mongodb-7.0.16 /app/

新建数据目录和日志目录

# 数据存储目录
mkdir -p /app/mongodb-7.0.16/data/db
# 日志目录
mkdir -p /app/mongodb-7.0.16/log

创建日志文件和配置文件

# 日志文件
touch /app/mongodb-7.0.16/log/mongod.log
# 配置文件(后续mongo服务启动需要)
touch /app/mongodb-7.0.16/data/mongod.conf

编辑配置文件:

vim /app/mongodb-7.0.16/data/mongod.conf

内容如下:

systemLog:# MongoDB 发送所有日志输出的目标指定为文件destination: file# mongod 或 mongos 应向其发送所有诊断日志记录信息的日志文件的路径path: "/app/mongodb-7.0.16/log/mongod.log"# 当 mongos 或 mongod 实例重新启动时,mongos 或 mongod 会将新条目附加到现有日志文件的末尾logAppend: truestorage:# mongod 实例存储其数据的目录,默认值是:"/data/db"。storage.dbPath 仅适用于 mongoddbPath: "/app/mongodb-7.0.16/data/db"# 访问限制管理(开启密码)
#security:
#  authorization: enabled net:# 服务实例绑定的 IP,默认是 127.0.0.1bindIp: 172.30.246.255# 绑定的端口,默认是 27017port: 7001

3.1.编辑系统服务

创建系统服务管理文件:

sudo vim /etc/systemd/system/mongodb.service

内容如示:

[Unit]
# 服务描述
Description=MongoDB Server
# 在网卡启动后,此服务才会启动
After=network.target[Service]
# 用户:运行此服务的用户
User=root
# 启动命令:启动服务的命令
ExecStart=/app/mongodb-7.0.16/bin/mongod -f /app/mongodb-7.0.16/data/mongod.conf[Install]
WantedBy=multi-user.target

保存后对文件进行赋权

# 重载系统服务
systemctl daemon-reload
# 设置开机自启(重启服务器生效)
systemctl enable mongodb
# 关闭开机自启(可能会用)
# systemctl disable mongodb
# 重启服务器命令 reboot 或 init 6

3.2.启动服务

# 启动
systemctl start mongodb
# 查看mongodb服务状态
systemctl status mongodb
# 重新启动
systemctl restart mongodb
# 关闭
systemctl stop mongodb

查看状态结果:
开机自启与mongo服务正常启动状态

关于服务报错的原因?

通常服务启动失败,大概率原因是因为权限不足,检查一下配置文件和日志文件,配置用户是否有权限读取。(我这里的用户 root ,所有没有问题)

赋权命令参考:

# 例如:专门创建一个mongodb用户用于管理的情形
sudo chown -R mongodb:mongodb /app/mongodb-7.0.16# 用户创建命令
sudo useradd mongodb

3.3.客户端连接验证

解压客户端连接工具

# 切换至安装包路径
cd /app/apps
# 解压
tar -xvf mongosh-2.3.9-linux-x64.tgz
# 重命名
mv mongosh-2.3.9-linux-x64 mongosh-2.3.9
# 移动到安装位置
mv mongosh-2.3.9 /app/

配置环境变量

# 编辑环境变量
vim /etc/profile
# 添加mongodb的环境变量

添加内容如示(位置:文件内容末尾):

#mongodb路径
export PATH=/app/mongodb-7.0.16/bin:$PATH
export PATH=/app/mongosh-2.3.9/bin:$PATH
# 重载环境变量
source /etc/profile
# 查看环境变量
echo $PATH

显示内容如示:

/app/mongosh-2.3.9/bin:/app/mongodb-7.0.16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

执行命令连接访问:

mongosh --host 172.30.246.255 --port 7001

在这里插入图片描述
附带用户名密码访问:

mongosh --host 172.30.246.255 --port 7001 --username mongoadmin --password
# 紧接着输入密码即可。

3.3.1.创建管理员用户

先切换到 admin 数据库

use admin;

接着创建一个管理员用户(密码中不要出现 #、$、!、@ 等特殊符号,原因是mongo连接时使用的url中 特殊字符有其他作用)

db.createUser({user: "mongoadmin",pwd: "你的密码",roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
});

在这里插入图片描述
开启权限认证

修改 MongoDB 的配置文件,开启权限认证,主要是将前面访问限制注释内容放开。

vim /app/mongodb-7.0.16/data/mongod.conf
# 访问限制管理(开启密码)
security:authorization: enabled

重启MongoDB服务

systemctl restart mongodb

4.远程访问

4.1.开启远程访问

默认情况下,只能在本机访问 MongoDB,要想远程访问 MongoDB,需要修改配置文件。(如果你的机器在内网上,此处就需要在 能访问 公网的那个机器上配置 端口流量转发)

# 编辑配置文件
vim /app/mongodb-7.0.16/data/mongod.conf# ip绑定调整如下:(将 127.0.0.1(或你写的ip)改成 0.0.0.0 )
bindIp: 0.0.0.0

4.2.开放防火墙

注意:如果是云服务器,请确保开放防火墙的端口 7001(默认是27017)之前,MongoDB 已经开启了安全认证

云服务器环境,需在安全组中放行 7001(默认是27017) 端口。

Ubuntu 防火墙端口放行:

# 开放端口
sudo ufw allow 7001
# 重启防火墙
sudo ufw reload

以上 mongodb 安装完成。

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

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

相关文章

打造一个有点好看的 uniapp 网络测速软件

大家好,我是一名前端小白。今天想和分享一个有点好看的网络测速 uniapp 组件的实现过程。这个组件不仅外观精美,而且具有完整的功能性,是一个非常适合学习和实践的案例。 设计理念 在开始coding之前,先聊聊设计理念。一个好的测…

ESP32 ESP-IDF TFT-LCD(ST7735 128x160)自定义组件驱动显示

ESP32 ESP-IDF TFT-LCD(ST7735 128x160)自定义组件驱动显示 🌿驱动参考来源:https://blog.csdn.net/weixin_59250390/article/details/142691848📍个人相关驱动内容文章:《ESP32 ESP-IDF TFT-LCD(ST7735 128x160) LVGL基本配置和使…

Redis的简单使用

1.Redis的安装Ubuntu安装Redis-CSDN博客 2.Redis在Spring Boot 3 下的使用 2.1 pom.xml <!-- Redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifac…

elabradio入门第四讲——位同步(符号同步)

位同步是数字通信系统中特有的一种同步技术&#xff0c;又称为码元同步。在数字通信系统中&#xff0c;任何消息都是一串信号码元序列&#xff0c;接收端为了恢复码元序列&#xff0c;则需要知道每个码元的起止时刻&#xff0c;以便对于解调后的信号进行抽样判决&#xff0c;这…

网络安全推荐的视频教程 网络安全系列

第一章 网络安全概述 1.2.1 网络安全概念P4 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护&#xff0c;不因偶然的或恶意的原因而遭到破坏、更改、泄露&#xff0c;系统连续可靠正常地运行&#xff0c;网络服务不中断。 1.2.3 网络安全的种类P5 &#xff08;1…

工控网络安全介绍 工控网络安全知识题目

31.PDR模型与访问控制的主要区别(A) A、PDR把对象看作一个整体 B、PDR作为系统保护的第一道防线 C、PDR采用定性评估与定量评估相结合 D、PDR的关键因素是人 32.信息安全中PDR模型的关键因素是(A) A、人 B、技术 C、模型 D、客体 33.计算机网络最早出现在哪个年代(B) A、20世…

Golang学习笔记_33——桥接模式

Golang学习笔记_30——建造者模式 Golang学习笔记_31——原型模式 Golang学习笔记_32——适配器模式 文章目录 桥接模式详解一、桥接模式核心概念1. 定义2. 解决的问题3. 核心角色4. 类图 二、桥接模式的特点三、适用场景1. 多维度变化2. 跨平台开发3. 动态切换实现 四、与其他…

DeepSeek预测25考研分数线

25考研分数马上要出了。 目前&#xff0c;多所大学已经陆续给出了分数查分时间&#xff0c;综合往年情况来看&#xff0c;每年的查分时间一般集中在2月底。 等待出成绩的日子&#xff0c;学子们的心情是万分焦急&#xff0c;小编用最近爆火的“活人感”十足的DeepSeek帮大家预…

AI性能极致体验:通过阿里云平台高效调用满血版DeepSeek-R1模型

前言 解决方案链接&#xff1a; https://www.aliyun.com/solution/tech-solution/deepseek-r1-for-platforms?utm_contentg_1000401616 DeepSeek是近期爆火的开源大语言模型&#xff08;LLM&#xff09;&#xff0c;凭借其强大的模型训练和推理能力&#xff0c;受到越来越多…

基于暗通道先验的图像去雾算法解析与实现

一、算法背景 何凯明团队于2009年提出的暗通道先验去雾算法《single image haze removal using dark channel prior》&#xff0c;通过统计发现&#xff1a;在无雾图像的局部区域中&#xff0c;至少存在一个颜色通道的像素值趋近于零。这一发现为图像去雾提供了重要的理论依据…

Visual Studio Code的下载安装与汉化

1.下载安装 Visual Studio Code的下载安装十分简单&#xff0c;在本电脑的应用商店直接下载安装----注意这是社区版-----一般社区版就足够用了---另外注意更改安装地址 2.下载插件 重启后就是中文版本了

遵循规则:利用大语言模型进行视频异常检测的推理

文章目录 速览摘要01 引言02 相关工作视频异常检测大语言模型 03 归纳3.1 视觉感知3.2 规则生成Normal and Anomaly &#xff08;正常与异常&#xff09;Abstract and Concrete &#xff08;抽象与具体&#xff09;Human and Environment &#xff08;人类与环境&#xff09; 3…

情书网源码 情书大全帝国cms7.5模板

源码介绍 帝国cms7.5仿《情书网》模板源码&#xff0c;同步生成带手机站带采集。适合改改做文学类的网站。 效果预览 源码获取 情书网源码 情书大全帝国cms7.5模板

【YOLOv8】

文章目录 1、yolov8 介绍2、创新点3、模型结构设计3.1、backbone3.2、head 4、正负样本匹配策略5、Loss6、Data Augmentation7、训练、推理8、分割 Demo附录——V1~V8附录——相关应用参考 1、yolov8 介绍 YOLOv8 是 ultralytics 公司在 2023 年 1 月 10 号开源的 YOLOv5 的下…

Softing线上研讨会 | 自研还是购买——用于自动化产品的工业以太网

| 线上研讨会时间&#xff1a;2025年1月27日 16:00~16:30 / 23:00~23:30 基于以太网的通信在工业自动化网络中的重要性日益增加。设备制造商正面临着一大挑战——如何快速、有效且经济地将工业以太网协议集成到其产品中。其中的关键问题包括&#xff1a;是否只需集成单一的工…

人工智能基础之数学基础:01高等数学基础

函数 极限 按照一定次数排列的一列数:“&#xff0c;“,…,"…&#xff0c;其中u 叫做通项。 对于数列{Un}如果当n无限增大时&#xff0c;其通项无限接近于一个常数A&#xff0c;则称该数列以A为极限或称数列收敛于A&#xff0c;否则称数列为发散&#xff0c; 极限值 左…

QT数据库(三):QSqlQuery使用

QSqlQuery 简介 QSqlQuery 是能运行任何 SQL 语句的类&#xff0c;如 SELECT、INSERT、UPDATE、DELETE 等 SQL 语句。所以使用 QSqlQuery 几乎能进行任何操作&#xff0c;例如创建数据表、修改数据表的字段定义、进行数据统计等。如果运行的是 SELECT 语句&#xff0c;它查询…

数据结构(考研)

线性表 顺序表 顺序表的静态分配 //线性表的元素类型为 ElemType//顺序表的静态分配 #define MaxSize10 typedef int ElemType; typedef struct{ElemType data[MaxSize];int length; }SqList;顺序表的动态分配 //顺序表的动态分配 #define InitSize 10 typedef struct{El…

Unity DeepSeek API 聊天接入教程(0基础教学)

Unity DeepSeek API 聊天接入教程(0基础教学) 1.DeepSeek 介绍 DeepSeek是杭州深度求索人工智能基础技术研究有限公司推出的一款大语言模型。2025年1月20日&#xff0c;DeepSeek-R1正式上线&#xff0c;和当前市面上的主流AI相比&#xff0c;它在仅有极少标注数据的情况下&am…

PAT乙级真题 — 1090 危险品装箱(java)

集装箱运输货物时&#xff0c;我们必须特别小心&#xff0c;不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱&#xff0c;否则很容易造成爆炸。 本题给定一张不相容物品的清单&#xff0c;需要你检查每一张集装箱货品清单&#xff0c;判断它们是否能装在…