第三章 ubuntu学习入门之MongoDB安装


前言

MongoDB 是一种广泛使用的 ‌NoSQL 数据库‌,是处理非结构化/半结构化数据的理想选择,尤其在需要灵活模式、水平扩展和高可用性的场景中表现优异。然而,在复杂事务或强关系型数据场景下,传统关系型数据库可能更合适。选择时需权衡业务需求与数据库特性。

什么时候使用MongoDB?
1.数据量是有亿万级或者需要不断扩容
2.需要2000-3000以上的读写每秒
3.新应用,需求会变,数据模型无法确定
4.需要整合多个外部数据源
5.系统需要99.999%高可用
6.系统需要大量的地理位置查询
7.系统需要提供最小的latency
8.管理的主要数据对象<10
满足上面一条,可以考虑MongoDB;当有2个以上的时候:MongoDB是不二的选择!


一、环境要求

1.验证系统​​

系统版本‌:推荐 ‌Ubuntu 22.04 LTS‌(Jammy Jellyfish),兼容 MongoDB 8.0 及更高版本‌

lsb_release -a    # 查看 Ubuntu 版本

在这里插入图片描述

2.安装前提

MongoDB 8.0 默认要求 CPU 支持 ‌AVX 指令集‌,若设备不支持 AVX(如旧型号 CPU),需手动下载并安装非 AVX 版本二进制包

lscpu | grep avx   # 通过 lscpu 命令确认 CPU 是否支持 AVX

​​如果有输出​​:CPU 支持 AVX。
​​如果无输出​​:CPU 不支持 AVX,需安装 ​​非 AVX 版本​​ 的MongoDB。
需安装 ​​非 AVX 版本​​ 的MongoDB直接请开始看第三步

二、apt安装步骤

1.更新系统软件包

确保系统软件包为最新状态(可选),此步骤可避免依赖冲突‌

sudo apt update && sudo apt upgrade -y

2.导入 MongoDB 公钥

添加官方 GPG 密钥以验证软件包完整性:

wget -qO - https://www.mongodb.org/static/pgp/server-8.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg

3.添加 MongoDB 官方仓库

echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

注意:jammy 为 Ubuntu 22.04 的代号,其他版本需替换对应名称(如 focal 对应 20.04)‌

4.安装 MongoDB 8.0​软件包

更新仓库并安装

sudo apt update && sudo apt install -y mongodb-org

安装完成后,系统自动创建默认数据目录 /var/lib/mongodb 和日志目录 /var/log/mongodb

5.启动服务并设置开机自启​

sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod    # 检查状态是否为 active (running)

三、用deb包安装

1.把安装包放入文件夹中

在这里插入图片描述

2.unzip命令解压安装包后将显示有三个deb包

sudo unzip ubuntu_mongodb-server_4.4.29.zip 

在这里插入图片描述

3.安装deb包

sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb
sudo dpkg -i mongodb-org-server_4.4.29_amd64.deb
sudo dpkg -i mongodb-org-shell_4.4.29_amd64.deb

sudo apt-get -f install  #修复依赖问题(如有报错)

4.启动服务并设置开机自启​

sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod    # 检查状态是否为 active (running)

5.‌禁止自动升级

sudo apt-mark hold mongodb-org mongodb-org-server  # 防止升级至 AVX 

6.检查版本与运行状态

mongosh --eval "db.version()"  # 确认版本为 4.4.29

四、基础配置

1.启动服务并设置开机自启​

sudo vim /etc/mongod.conf     #包含日志路径、数据目录、网络绑定等参数‌
# 网络配置
net:
  port: 27017                  # 监听端口
  bindIp: 0.0.0.0              # 允许所有IP访问(生产环境建议绑定具体IP)

# 存储配置
storage:
  dbPath: /var/lib/mongodb     # 数据目录
  journal:
    enabled: true              # 启用日志(确保数据持久性)

# 日志配置
systemLog:
  destination: file            # 输出到文件
  path: /var/log/mongodb/mongod.log
  logAppend: true              # 追加模式(不覆盖旧日志)
  logRotate: reopen            # 日志轮转策略

# 进程管理
processManagement:
  fork: true                   # 后台运行
  pidFilePath: /var/run/mongodb/mongod.pid  # PID文件路径

2.安全配置(可选,建议启用)

security:
  authorization: enabled       # 启用身份验证

3.重启生效配置

sudo systemctl restart mongod  # 修改后需重启服务‌

五、用户权限管理

1.‌进入Mongosh的shell

mongosh

2.创建管理员用户

use admin
db.createUser({
  user: "admin",
  pwd: "your_password",
  roles: ["root"]
})                 // 创建最高权限账户‌

3.‌启用身份验证

sudo vim /etc/mongod.conf 
#修改配置文件,添加
security:
  authorization: enabled         // 强制启用鉴权‌
sudo systemctl restart mongod    #重启服务
mongosh -u admin -p your_password --authenticationDatabase admin    #账户登录

六、网络与防火墙(如启用UFW)

sudo ufw allow 27017/tcp  
sudo ufw reload          

总结

MongoDB 8.0 在 ‌性能、扩展性、安全性‌ 三方面实现突破,尤其适合 ‌高吞吐实时应用、分片集群管理及敏感数据处理场景‌。
‌MongoDB 4.4.29 是 4.4 系列的最终版本,属于长期支持(LTS)分支,适合生产环境部署,具备较高的稳定性和兼容性‌,但在超大规模分片集群中需谨慎评估性能瓶颈‌。
兼容性说明‌:MongoDB 4.4 系列无需 AVX 指令集支持,可安全部署于旧 CPU 设备‌。
‌生产环境建议‌:4.4.29 是 4.4 系列的最终 LTS 版本,适合长期稳定运行‌

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐