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: true

storage:
  # mongod 实例存储其数据的目录,默认值是:"/data/db"。storage.dbPath 仅适用于 mongod
  dbPath: "/app/mongodb-7.0.16/data/db"

# 访问限制管理(开启密码)
#security:
#  authorization: enabled 

net:
  # 服务实例绑定的 IP,默认是 127.0.0.1
  bindIp: 172.30.246.255
  # 绑定的端口,默认是 27017
  port: 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 安装完成。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《DeepSeek-V3:人工智能大语言模型》

《DeepSeek-V3:人工智能大语言模型》 1. 引言 我们介绍了 DeepSeek-V3,这是一个强大的专家混合 (MoE) 语言模型,总共有 671B 个参数,每个令牌激活了 37B。 为了实现高效的推理和具有成本效益的训练,DeepSeek-V3 采用了多头潜在注意力 (MLA) 和 DeepSeekMoE 架构,这些…

解锁机器学习核心算法 | K -近邻算法:机器学习的神奇钥匙

一、引言 今天我们继续学习机器学习核心算法 —— K - 近邻(K-Nearest Neighbors,简称 KNN)算法。它就像是一位经验丰富的 “老江湖”,以其简单而又强大的方式,在众多机器学习任务中占据着不可或缺的地位。 K - 近邻…

算法分析—— 《归并排序》

《排序数组》 题目描述: 给你一个整数数组 nums,请你将该数组升序排列。 你必须在 不使用任何内置函数 的情况下解决问题,时间复杂度为 O(nlog(n)),并且空间复杂度尽可能小。 示例 1: 输入:nums [5,2…

linux云服务器部署deepseek,并通过网页访问

参考视频:https://www.douyin.com/root/search/linux%E5%AE%89%E8%A3%85%20deepseek?aid3aa2527c-e4f2-4059-b724-ab81a140fa8b&modal_id7468518885570940214&typegeneral 修改ollama配置文件 vim /etc/systemd/system/ollama.service 我的电脑硬盘只有4…

FastAdmin后端列表导入表格数据

后台添加数据的时候增加通过表格导入功能 如下图index.html页面增加导入和模板下载按钮代码如下 <div class"panel panel-default panel-intro">{:build_heading()}<div class"panel-body"><div id"myTabContent" class"ta…

可调节图片参数,解决图片模糊及尺寸过小问题的工具

软件介绍 你是否正为图片模糊、尺寸太小而烦恼&#xff1f;别担心&#xff0c;有这样一款神器能帮你轻松解决。它能精准调节图片参数&#xff0c;即便原本模糊不清的图片&#xff0c;经它处理后也能变得高清锐利&#xff0c;瞬间让图片焕然一新。而且&#xff0c;它还具备导出…

Windows网络安全基础

随着互联网的发展和普及&#xff0c;Windows网络安全问题愈发严重。在本文中&#xff0c;我们将会介绍Windows网络安全的基本概念&#xff0c;包括网络攻击类型、网络安全威胁、网络安全防御措施等等&#xff0c;帮助初学者更好地了解Windows网络安全。 一、网络攻击类型 网络…

代码补全『三重奏』:EverEdit如何用上下文识别+语法感知+智能片段重构你的编码效率!

1 代码自动完成 1.1 应用场景 在编辑文档时&#xff0c;为了提高编辑效率&#xff0c;编辑器一般都会带有自动完成功能&#xff0c;比如&#xff1a;输入括号时自动补全另一半&#xff0c;输入文字时&#xff0c;自动补全剩下的部分。 1.2 使用方法 1.2.1 自动缩进 单击主菜…

vue,vue3 keepalive没有效果,无法缓存页面include无效,keep-alive

keepalive没有效果&#xff0c;无法缓存页面&#xff1f; 问题大概是组件的name值不对应&#xff0c;vue2修改组件文件的name值&#xff0c;vue3保持组件文件名称和路由页面配置的name一致就可以了&#xff0c;如果vue3不想保持一致&#xff0c;必须手动在文件后面添加export..…

栈回溯方案

注&#xff1a;栈回溯无法很好的定位到未调优化的函数&#xff0c;需要编译前使用 -fno-optimize-sibling-calls 选项禁止尾调优化。 基于unwind的栈回溯 在 arm 架构下&#xff0c;不少32位系统用的是 unwind 形式的栈回溯&#xff0c;这种栈回溯要复杂很多。首先需要程序有一…

【存储中间件API】MySQL、Redis、MongoDB、ES常见api操作及性能比较

常见中间件api操作及性能比较 ☝️ MySQL crud操作✌️ maven依赖✌️ 配置✌️ 定义实体类✌️ 常用api ☝️ Redis crud操作✌️ maven依赖✌️ 配置✌️ 常用api ☝️ MongoDB crud操作✌️ maven依赖✌️ 配置文件✌️ 定义实体类✌️ MongoDB常用api ☝️ ES crud操作 ⭐️…

解锁D3.js与PlantUML的交互奥秘:探索知识图谱数据可视化新领域

解锁D3.js与PlantUML的交互魔法&#xff1a;数据可视化新征程 在前端开发的广袤天地里&#xff0c;数据可视化一直是一颗璀璨的明珠&#xff0c;吸引着无数开发者探索其奥秘。而当D3.js这一强大的JavaScript库&#xff0c;遇上专注于创建UML图的PlantUML&#xff0c;一场奇妙的…

DeepSeek24小时写作机器人,持续创作高质量文案

内容创作已成为企业、自媒体和创作者的核心竞争力。面对海量的内容需求&#xff0c;人工创作效率低、成本高、质量参差不齐等问题日益凸显。如何在有限时间内产出高质量内容&#xff1f;DeepSeek写作机器人&#xff0c;一款24小时持续创作的智能工具&#xff0c;为企业和个人提…

使用html css js 来实现一个服装行业的企业站源码-静态网站模板

最近在练习 前端基础&#xff0c;html css 和js 为了加强 代码的 熟悉程序&#xff0c;就使用 前端 写了一个个服装行业的企业站。把使用的技术 和 页面效果分享给大家。 应用场景 该制衣服装工厂官网前端静态网站模板主要用于前端练习和编程练习&#xff0c;适合初学者进行 HT…

使用html css js 开发一个 教育机构前端静态网站模板

这个教育机构网站模板是专为前端开发初学者设计的练习项目&#xff0c;适合正在学习前端的学生或自学者使用。网站内容包括首页、课程体系、师资力量、关于我们和联系我们等基础页面&#xff0c;帮助学习者熟悉网页布局、样式设计和交互功能的实现。 静态页面 简单截图 应用…

(蓝桥杯——10. 小郑做志愿者)洛斯里克城志愿者问题详解

题目背景 小郑是一名大学生,她决定通过做志愿者来增加自己的综合分。她的任务是帮助游客解决交通困难的问题。洛斯里克城是一个六朝古都,拥有 N 个区域和古老的地铁系统。地铁线路覆盖了树形结构上的某些路径,游客会询问两个区域是否可以通过某条地铁线路直达,以及有多少条…

React 低代码项目:网络请求与问卷基础实现

&#x1f35e;吐司问卷&#xff1a;网络请求与问卷基础实现 Date: February 10, 2025 Log 技术要点&#xff1a; HTTP协议XMLHttpRequest、fetch、axiosmock.js、postmanWebpack devServer 代理、craco.js 扩展 webpackRestful API 开发要点&#xff1a; 搭建 mock 服务 …

大流量汽(柴)油机泵,抗洪抢险的可靠选择|深圳鼎跃

近年来&#xff0c;全球范围内极端天气频发&#xff0c;洪涝灾害成为危及人民生命财产安全的重要因素。在抗洪抢险行动中&#xff0c;如何迅速、高效地排除积水&#xff0c;保障救援通道和安全区域成为关键。汽柴油机泵凭借其动力强、移动灵活、环境适应性强等特点&#xff0c;…

游戏开发微信小程序--工具箱之父

小程序工具箱之父已更新 Page({data: {score: 0,lives: 3,gameOver: false,playerVisible: true,level: 1,petType: cat,speedBuff: 1,coins: 0,friends: [],achievements: [],currentPetFrame: 0, // 当前宠物动画帧scoreMultiplier: 1, // 得分倍率gameSpeed: 1, // …

一.数据治理理论架构

1、数据治理核心思想&#xff1a; 数据治理理论架构图描绘了一个由顶层设计、管控机制、核心领域和管理系统四个主要部分组成的数据治理框架。它旨在通过系统化的方法&#xff0c;解决数据治理机制缺失引发的业务和技术问题&#xff0c;并最终提升企业的数据管理水平。 数据治…