[Linux服务器] Linux环境安装MongoDB

1083 0
Honkers 2025-4-1 18:28:28 来自手机 | 显示全部楼层 |阅读模式

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

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

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

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

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

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

  1. cat /etc/os-release
复制代码

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

  1. uname -m
复制代码

2. 下载MongoDB

下载地址:Download MongoDB

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


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

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

查看已下载的文件

  1. ls -l
复制代码

将文件解压到当前目录

  1. tar -xvf mongodb-linux-x86_64-ubuntu2204-8.0.3.tgz
复制代码

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

  1. sudo mv mongodb-linux-x86_64-ubuntu2204-8.0.3 /usr/local/mongodb
复制代码

3. 安装MongoDB

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

将 ubuntu 换成你的用户名

  1. # 数据存储目录
  2. mkdir -p /home/ubuntu/mongodb/single/data/db
复制代码
  1. # 日志存储目录
  2. mkdir -p /home/ubuntu/mongodb/single/log
复制代码

3.2 新建日志文件

将 ubuntu 换成你的用户名

  1. touch /home/ubuntu/mongodb/single/log/mongod.log
复制代码

3.3 新建配置文件

将 ubuntu 换成你的用户名

  1. vim /home/ubuntu/mongodb/single/mongod.conf
复制代码

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

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

4. 将MongoDB注册为服务

4.1 新建服务文件

  1. sudo vim /etc/systemd/system/mongodb.service
复制代码

4.2 编写服务文件

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

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

5. MongoDB服务相关操作

5.1 启动MongoDB服务

输入以下指令启动 MongoDB 服务

  1. sudo systemctl start mongodb.service
复制代码

5.2 查看MongoDB的服务状态

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

  1. sudo systemctl status mongodb.service
复制代码

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

5.3 停止 MongoDB 服务

  1. sudo systemctl stop mongodb.service
复制代码

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

  1. sudo systemctl enable mongodb.service
复制代码

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

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

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

7. 远程访问MongoDB

7.1 开启远程访问

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

  1. vim /home/ubuntu/mongodb/single/mongod.conf
复制代码

将 127.0.0.1 改成 0.0.0.0

  1. bindIp: 0.0.0.0
复制代码

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

  1. systemLog:
  2. # MongoDB 发送所有日志输出的目标指定为文件
  3. # The path of the log file to which mongod or mongos should send all diagnostic logging information
  4. destination: file
  5. # mongod 或 mongos 应向其发送所有诊断日志记录信息的日志文件的路径
  6. path: "/home/ubuntu/mongodb/single/log/mongod.log"
  7. # 当 mongos 或 mongod 实例重新启动时,mongos 或 mongod 会将新条目附加到现有日志文件的末尾
  8. logAppend: true
  9. storage:
  10. # mongod 实例存储其数据的目录。storage.dbPath 设置仅适用于 mongod
  11. # The directory where the mongod instance stores its data. Default Value is "/data/db"
  12. dbPath: "/home/ubuntu/mongodb/single/data/db"
  13. # processManagement:
  14. security:
  15. authorization: enabled
  16. net:
  17. # 服务实例绑定的 IP,默认是 127.0.0.1
  18. # bindIp: 127.0.0.1
  19. bindIp: 0.0.0.0
  20. # 绑定的端口,默认是 27017
  21. port: 27017
复制代码

7.2 开放防火墙的 27017 端口

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

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

7.3 重启MongoDB服务

运行以下指令重启 MongoDB 服务

  1. sudo systemctl restart mongodb
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行