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

Linux环境安装MongoDB

文章目录

  • 1. 查看Linux系统的发行版本
  • 2. 下载MongoDB
  • 3. 安装MongoDB
    • 3.1 新建几个目录,分别用来存储 MongoDB 的数据和日志
    • 3.2 新建日志文件
    • 3.3 新建配置文件
  • 4. 将MongoDB注册为服务
    • 4.1 新建服务文件
    • 4.2 编写服务文件
  • 5. MongoDB服务相关操作
    • 5.1 启动MongoDB服务
    • 5.2 查看MongoDB的服务状态
    • 5.3 停止 MongoDB 服务
    • 5.4 设置 MongoDB 服务开机自启(可选)
  • 6. 开启MongoDB的安全认证(云服务器一定要开启)
  • 7. 远程访问MongoDB
    • 7.1 开启远程访问
    • 7.2 开放防火墙的 27017 端口
    • 7.3 重启MongoDB服务

阅读本文前可以先阅读以下文章:

  • MongoDB快速入门(MongoDB简介、MongoDB的应用场景、MongoDB中的基本概念、MongoDB的数据类型、MongoDB的安装与部署、MongoDB的常用命令)
  • MongoDB的常用命令(数据库操作、集合操作、文档操作)

Windows 环境下安装 MongoDB 可以参考我的另一篇博文:Windows环境下安装MongoDB

本次演示的 Linux 发行版为 Ubuntu 22.04 LTS

1. 查看Linux系统的发行版本

输入以下指令查看 Linux 的发行版本

cat /etc/os-release

在这里插入图片描述

输入以下指令查看系统的架构

uname -m

在这里插入图片描述

2. 下载MongoDB

下载地址:Download MongoDB

选择 Linux 发行版本的信息,选择 tgz 格式,最后点击 Copy link

在这里插入图片描述


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

curl -o mongodb-linux-x86_64-ubuntu2204-8.0.3.tgz 复制的地址

在这里插入图片描述

查看已下载的文件

ls -l

在这里插入图片描述

将文件解压到当前目录

tar -xvf mongodb-linux-x86_64-ubuntu2204-8.0.3.tgz

在这里插入图片描述

移动解压后的文件夹到 /usr/local/mongodb 目录

sudo mv mongodb-linux-x86_64-ubuntu2204-8.0.3 /usr/local/mongodb

3. 安装MongoDB

3.1 新建几个目录,分别用来存储 MongoDB 的数据和日志

将 ubuntu 换成你的用户名

# 数据存储目录
mkdir -p /home/ubuntu/mongodb/single/data/db
# 日志存储目录
mkdir -p /home/ubuntu/mongodb/single/log

3.2 新建日志文件

将 ubuntu 换成你的用户名

touch /home/ubuntu/mongodb/single/log/mongod.log

3.3 新建配置文件

将 ubuntu 换成你的用户名

vim /home/ubuntu/mongodb/single/mongod.conf

将以下内容粘贴到文件中后保存(将文件中的 ubuntu 换成你的用户名)

systemLog:# MongoDB 发送所有日志输出的目标指定为文件# The path of the log file to which mongod or mongos should send all diagnostic logging informationdestination: file# mongod 或 mongos 应向其发送所有诊断日志记录信息的日志文件的路径path: "/home/ubuntu/mongodb/single/log/mongod.log"# 当 mongos 或 mongod 实例重新启动时,mongos 或 mongod 会将新条目附加到现有日志文件的末尾logAppend: truestorage:# mongod 实例存储其数据的目录。storage.dbPath 设置仅适用于 mongod# The directory where the mongod instance stores its data. Default Value is "/data/db"dbPath: "/home/ubuntu/mongodb/single/data/db"# processManagement:net:# 服务实例绑定的 IP,默认是 127.0.0.1bindIp: 127.0.0.1# 绑定的端口,默认是 27017port: 27017

4. 将MongoDB注册为服务

4.1 新建服务文件

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

4.2 编写服务文件

将以下内容拷贝到文件中(将文件中的 ubuntu 换成你的用户名)

# MongoDB数据库服务器的systemd服务文件[Unit]
# 描述:服务的简短描述
Description=MongoDB Server
# 在...之后:指定在哪个目标启动之后,此服务才会启动
After=network.target[Service]
# 用户:运行此服务的用户
User=ubuntu
# 启动命令:启动服务的命令
ExecStart=/usr/local/mongodb/bin/mongod -f /home/ubuntu/mongodb/single/mongod.conf[Install]
# 想要由...启动:指定当哪个目标启动时,此服务也应该自动启动
WantedBy=multi-user.target

5. MongoDB服务相关操作

5.1 启动MongoDB服务

输入以下指令启动 MongoDB 服务

sudo systemctl start mongodb.service

5.2 查看MongoDB的服务状态

输入以下指令查看 MongoDB 的服务状态

sudo systemctl status mongodb.service

在这里插入图片描述

如果服务启动失败,大概率是因为权限不足,可以检查一下配置文件和日志文件是否有权限读取

5.3 停止 MongoDB 服务

sudo systemctl stop mongodb.service

5.4 设置 MongoDB 服务开机自启(可选)

sudo systemctl enable mongodb.service

6. 开启MongoDB的安全认证(云服务器一定要开启)

如果你是使用云服务器来部署 MongoDB,一定要开启 MongoDB 的安全认证,否则 MongoDB 大概率会被黑掉

Linux 环境开启MongoDB的安全认证可以参考我的另一篇博文:Linux环境开启MongoDB的安全认证

7. 远程访问MongoDB

7.1 开启远程访问

默认情况下,只能在本机访问 MongoDB,要想远程访问 MongoDB,需要修改配置文件(将 ubuntu 换成你的用户名)

vim /home/ubuntu/mongodb/single/mongod.conf

将 127.0.0.1 改成 0.0.0.0

bindIp: 0.0.0.0

在这里插入图片描述

完整的配置文件(已开启安全认证)

systemLog:# MongoDB 发送所有日志输出的目标指定为文件# The path of the log file to which mongod or mongos should send all diagnostic logging informationdestination: file# mongod 或 mongos 应向其发送所有诊断日志记录信息的日志文件的路径path: "/home/ubuntu/mongodb/single/log/mongod.log"# 当 mongos 或 mongod 实例重新启动时,mongos 或 mongod 会将新条目附加到现有日志文件的末尾logAppend: truestorage:# mongod 实例存储其数据的目录。storage.dbPath 设置仅适用于 mongod# The directory where the mongod instance stores its data. Default Value is "/data/db"dbPath: "/home/ubuntu/mongodb/single/data/db"# processManagement:security:authorization: enablednet:# 服务实例绑定的 IP,默认是 127.0.0.1# bindIp: 127.0.0.1bindIp: 0.0.0.0# 绑定的端口,默认是 27017port: 27017

7.2 开放防火墙的 27017 端口

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

  1. 如果你使用的是云服务器,在安全组中放行 27017 端口
  2. 如果你安装了宝塔,除了在安全组中放行 27017 端口,还要在宝塔中放行 27017 端口

完成以上两个操作后,输入以下指令开放 27017 端口

Ubuntu

sudo ufw allow 27017sudo ufw reload

CentOS

sudo firewall-cmd --zone=public --add-port=27017 /tcp --permanentsudo firewall-cmd --reload

7.3 重启MongoDB服务

运行以下指令重启 MongoDB 服务

sudo systemctl restart mongodb
http://www.lryc.cn/news/489720.html

相关文章:

  • Cyberchef使用功能之-多种压缩/解压缩操作对比
  • TypeScript 装饰器都有那些应用场景?如何更快的上手?
  • 堆优化版本的Prim
  • Ubuntu上安装MySQL并且实现远程登录
  • 蓝桥杯每日真题 - 第21天
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(下)----空间数据的编辑与处理(超超超详细!!!)
  • NLP论文速读(CVPR 2024)|使用DPO进行diffusion模型对齐
  • 操作系统——揭开盖子
  • 如何在 React 项目中应用 TypeScript?应该注意那些点?结合实际项目示例及代码进行讲解!
  • C++学习第四天
  • 【从零开始的LeetCode-算法】3232. 判断是否可以赢得数字游戏
  • 一种简单高效的RTSP流在线检测方法,不需要再过渡拉流就可以获取设备状态以及对应音视频通道与编码格式
  • 24/11/22 项目拆解 艺术风格转移
  • 数字赋能,气象引领 | 气象景观数字化服务平台重塑京城旅游生态
  • 关于Redux的学习(包括Redux-toolkit中间件)
  • 【无人机】
  • Zabbix7.0.6的容器镜像准备
  • 利用 GitHub 和 Hexo 搭建个人博客【保姆教程】
  • React第四节 组件的三大属性之state
  • MongoDB进阶篇-索引(索引概述、索引的类型、索引相关操作、索引的使用)
  • 使用FFmpeg实现视频与GIF的画中画效果
  • 车载信息安全框架 --- 车载信息安全相关事宜
  • Unreal5从入门到精通之EnhancedInput增强输入系统详解
  • 泛微E9与金蝶云星空的集成方案:实现审批流程与财务管理的无缝对接
  • 理解设计模式与 UML 类图:构建稳健软件架构的基石
  • FastAPI重载不生效?解决PyCharm中Uvicorn无法重载/重载缓慢的终极方法!
  • 最新子比主题zibll8.0开心版源码 无加密无后门
  • 【数据分析】认清、明确
  • 工业生产安全-安全帽第二篇-用java语言看看opencv实现的目标检测使用过程
  • 人工智能(AI)与机器学习(ML)基础知识