Linux如何安装MongoDB_Linux配置NoSQL数据库环境【教程】

mongodb官方已停止支持32位系统及旧版linux(如centos 6、ubuntu 16.04),仅提供x86_64/arm64架构包,要求ubuntu 20.04+/debian 11+或rhel/centos 8+等新系统;安装须通过官方源或tar.gz手动部署,并注意glibc≥2.28等依赖版本。

linux如何安装mongodb_linux配置nosql数据库环境【教程】

MongoDB 官方已停止对 32 位系统和旧版 Linux 发行版(如 CentOS 6、Ubuntu 16.04)的正式支持,直接用 apt install mongodbyum install mongodb 装出来的极大概率是过时版本(如 3.6 或更老),甚至根本不可用。

确认系统架构与发行版版本

装错包的第一步,往往是从没看清自己跑的是什么系统。MongoDB 官方只提供 x86_64 和 ARM64 架构的二进制包,且明确要求:

  • Ubuntu 20.04/22.04Debian 11/12(推荐用 .deb 包 + 官方源)
  • RHEL/CentOS 8/9Rocky/AlmaLinux 8/9(用 .rpm 包 + dnf
  • 运行 uname -m 确保输出是 x86_64aarch64cat /etc/os-release 查清确切版本
  • 别在 CentOS 7 上硬套 MongoDB 6+ 的 repo——它依赖 systemd 239+,而 CentOS 7 自带的是 219

用官方仓库安装(推荐 Ubuntu/Debian)

跳过系统自带的过时包,直连 MongoDB 官方 APT 源:

易企秀

易企秀

易企秀,一体化创意设计营销平台。超100万模板1键套用3分钟制作,随时随地完成创意设计营销。

下载

  • 导入公钥:wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -(注意:新版 apt-key 已弃用,更稳妥写法是 gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
  • 添加源:echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list(把 jammy 换成你系统的代号,如 focal 对应 20.04)
  • 更新并安装:sudo apt update && sudo apt install -y mongodb-org
  • 启动服务:sudo systemctl start mongod,并检查状态:sudo systemctl status mongod(若报 Failed to start mongod.service: Unit mongod.service not found,说明安装失败或包名不匹配)

手动下载 tar.gz 安装(适合无 root 或定制路径)

当无法配置系统级 repo(比如容器内、受限服务器),直接解压即用更可控:

  • 去 官网下载页 找对应系统的 mongodb-linux-x86_64-ubuntu2204-7.0.14.tgz 类似文件(注意后缀必须匹配你的系统)
  • 解压到本地目录:tar -zxvf mongodb-linux-x86_64-*.tgz && mv mongodb-linux-x86_64-* ~/mongodb
  • 加到 PATH:echo 'export PATH=~/mongodb/bin:$PATH' >> ~/.bashrc && source ~/.bashrc
  • 创建数据目录:mkdir -p ~/data/db,并确保当前用户有读写权限
  • 手动启动:mongod --dbpath ~/data/db --port 27017(不加 --fork 就前台运行,方便看日志;后台运行需额外配 --logpath

启动失败常见原因与快速排查

运行 mongod 后卡住、闪退或日志里报错,多数出在权限或路径上:

  • Permission denied:不是因为没 root,而是 /data/db 目录归属不对——用 sudo chown -R $USER:$USER /data/db(或改用自己家目录下的路径)
  • Address already in use:端口被占,换端口启动:mongod --port 27018 --dbpath ~/data/db
  • Failed to set up listener: SocketException: Address not available:IPv6 配置问题,加参数 --bind_ip 127.0.0.1
  • Unable to create/process file:SELinux 或 AppArmor 拦截,临时关掉测试:sudo setenforce 0(仅调试用)
  • 连接不上?先确认 mongod 进程是否真在跑:ps aux | grep mongod,再试 mongo --host 127.0.0.1:27017(新版 mongosh 替代了 mongo shell)

真正麻烦的不是安装命令本身,而是不同发行版对 OpenSSL、glibc、systemd 的隐式版本要求——MongoDB 7.0 要求 glibc ≥ 2.28,而 CentOS 8 最低满足,CentOS 7 不行。别省那几分钟查文档,先看清楚 os-releaseldd --version 输出再说。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享