Linux平台安装MongoDB

Linux 平台安装 MongoDB(2025 年最新完整指南)

MongoDB 在 Linux 上支持 官方安装包.tgz)、包管理器yum/dnfapt)和 Docker 三种方式。
推荐生产环境:使用 官方包管理器方式(自动管理依赖、升级、开机自启)。
当前最新稳定版:MongoDB 8.0(2025 年 11 月)。

适用系统:Ubuntu 20.04/22.04/24.04、Debian 11/12、RHEL/CentOS 8/9、Rocky Linux、AlmaLinux、Amazon Linux 2023


一、系统准备(所有发行版通用)

# 1. 更新系统
sudo apt update && sudo apt upgrade -y    # Ubuntu/Debian
# 或
sudo dnf update -y                        # RHEL/CentOS/Rocky

# 2. 安装基本工具
sudo apt install gnupg curl wget -y       # Ubuntu/Debian
sudo dnf install gnupg2 curl wget -y      # RHEL 系列

# 3. 创建数据和日志目录(推荐)
sudo mkdir -p /data/db /data/log
sudo chown -R $USER:$USER /data/db /data/log   # 开发用
# 生产建议:chown mongodb:mongodb

二、安装方式 1:包管理器方式(推荐)

1. Ubuntu / Debian(使用 apt

# 步骤 1:导入 MongoDB 官方 GPG 公钥
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor

# 步骤 2:添加 MongoDB 官方源(根据系统版本选择)
# Ubuntu 20.04 (focal)
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

# Ubuntu 22.04 (jammy)
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.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

# Ubuntu 24.04 (noble)
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

# Debian 11 (bullseye) / Debian 12 (bookworm)
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

# 步骤 3:更新源并安装
sudo apt update
sudo apt install -y mongodb-org

2. RHEL / CentOS / Rocky / AlmaLinux(使用 dnf/yum

# 步骤 1:创建 repo 文件
sudo tee /etc/yum.repos.d/mongodb-org-8.0.repo << EOF

[mongodb-org-8.0]

name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc EOF # 步骤 2:安装 sudo dnf install -y mongodb-org # CentOS 7 使用 yum: # sudo yum install -y mongodb-org


三、启动与验证

# 启动 MongoDB 服务
sudo systemctl start mongod

# 设置开机自启
sudo systemctl enable mongod

# 查看状态
sudo systemctl status mongod

验证连接

# 进入 MongoDB Shell
mongosh

# 测试命令
> show dbs
> use testdb
> db.users.insertOne({name: "Linux用户", os: "Ubuntu"})
> db.users.find().pretty()

四、安装方式 2:TGZ 手动安装(适合自定义路径)

# 1. 下载最新 TGZ 包(x86_64)
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-8.0.3.tgz

# 2. 解压
tar -zxvf mongodb-linux-x86_64-ubuntu2204-8.0.3.tgz
sudo mv mongodb-linux-x86_64-ubuntu2204-8.0.3 /usr/local/mongodb

# 3. 添加环境变量
echo 'export PATH=/usr/local/mongodb/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# 4. 创建数据目录
sudo mkdir -p /data/db
sudo chown $USER /data/db

# 5. 启动(前台)
mongod --dbpath /data/db --logpath /data/log/mongod.log --fork

五、安装方式 3:Docker 安装(推荐开发/测试)

# 拉取官方镜像
docker pull mongodb/mongodb-community-server:8.0

# 运行容器(映射端口 + 数据持久化)
docker run -d --name mongo \
  -p 27017:27017 \
  -v mongo-data:/data/db \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=yourpassword \
  mongodb/mongodb-community-server:8.0

连接方式:

mongosh "mongodb://admin:yourpassword@localhost:27017"

六、生产环境安全配置(必须)

1. 启用身份认证

# 连接本地 mongosh
mongosh

# 创建管理员用户
use admin
db.createUser({
  user: "admin",
  pwd: "StrongP@ssw0rd!",
  roles: [ "root" ]
])

2. 修改配置文件启用认证

sudo nano /etc/mongod.conf
security:
  authorization: enabled

net:
  port: 27017
  bindIp: 0.0.0.0   # 允许远程,或改为 127.0.0.1 本地

storage:
  dbPath: /data/db

systemLog:
  destination: file
  path: /data/log/mongod.log
sudo systemctl restart mongod

3. 防火墙配置(ufw 示例)

sudo ufw allow from 192.168.1.0/24 to any port 27017  # 内网
sudo ufw allow 27017                                 # 公网(谨慎)

七、常用管理命令

命令功能
sudo systemctl start mongod启动
sudo systemctl stop mongod停止
sudo systemctl restart mongod重启
sudo systemctl status mongod查看状态
journalctl -u mongod -f查看实时日志
mongosh --host 127.0.0.1 --port 27017 -u admin -p认证登录

八、卸载 MongoDB

# 停止服务
sudo systemctl stop mongod

# 卸载软件包
sudo apt purge mongodb-org*    # Ubuntu/Debian
sudo dnf remove mongodb-org*   # RHEL

# 删除数据(谨慎!)
sudo rm -r /data/db /data/log /var/lib/mongodb /var/log/mongodb

# 删除配置文件
sudo rm /etc/mongod.conf /etc/yum.repos.d/mongodb-org-8.0.repo

九、推荐工具

工具说明
MongoDB Compass图形化客户端(Windows/macOS/Linux)
mongosh官方现代 Shell(替代 mongo)
MongoDB Atlas云数据库(免运维)https://cloud.mongodb.com

十、总结:三步快速安装(Ubuntu 示例)

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.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
sudo apt update && sudo apt install -y mongodb-org
sudo systemctl start mongod && sudo systemctl enable mongod
mongosh

官方文档:https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-linux/

如需 高可用副本集配置分片集群搭建备份恢复Kubernetes 部署,欢迎继续提问!

文章已创建 2349

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部