ubuntu22.04安装MongoDB详细流程及基础配置
第三章 ubuntu学习入门之MongoDB安装
文章目录
- 第三章 ubuntu学习入门之MongoDB安装
- 前言
- 一、环境要求
- 1.验证系统
- 2.安装前提
- 二、apt安装步骤
- 1.更新系统软件包
- 2.导入 MongoDB 公钥
- 3.添加 MongoDB 官方仓库
- 4.安装 MongoDB 8.0软件包
- 5.启动服务并设置开机自启
- 三、用deb包安装
- 1.把安装包放入文件夹中
- 2.unzip命令解压安装包后将显示有三个deb包
- 3.安装deb包
- 4.启动服务并设置开机自启
- 5.禁止自动升级
- 6.检查版本与运行状态
- 四、基础配置
- 1.启动服务并设置开机自启
- 2.安全配置(可选,建议启用)
- 3.重启生效配置
- 五、用户权限管理
- 1.进入Mongosh的shell
- 2.创建管理员用户
- 3.启用身份验证
- 六、网络与防火墙(如启用UFW)
- 总结
前言
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 版本,适合长期稳定运行