MongoDB 安装教程 (编译安装)
2026/7/30大约 2 分钟
MongoDB 安装教程
环境准备
本文记录 MongoDB 的安装、配置、服务注册以及 mongosh 客户端安装过程。
文档以 MongoDB 8.x 为示例,适用于手动解压安装的场景。
下载安装包
MongoDB 服务端安装包
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel8-8.3.7.tgzMongoDB Shell 安装包
https://downloads.mongodb.com/compass/mongodb-mongosh-2.9.2.x86_64.rpm
解压并配置环境变量
tar -xvf mongodb-linux-x86_64-rhel8-8.3.7.tgz
export MONGODB_HOME=/opt/mongodb/mongodb8
export PATH=$MONGODB_HOME/bin:$PATH创建目录和配置文件
mkdir data
mkdir data/db
mkdir logs
touch mongodb.conf配置用户组和权限
如果系统中还没有 mongodb 用户和用户组,可以先执行以下命令创建:
sudo useradd -r -g mongodb -d /nonexistent -s /sbin/nologin mongodb
# 给文件都加上权限
# 给目录、配置文件和二进制文件授权
sudo chown -R mongodb:mongodb /opt/mongodb/mongodb8/logs
sudo chown mongodb:mongodb /opt/mongodb/mongodb8/mongodb.conf
sudo chown -R mongodb:mongodb /opt/mongodb/mongodb8/bin配置文件示例:/opt/mongodb/mongodb8/mongodb.conf
配置内容如下:
storage:
# mongod 实例存储其数据的目录。storage.dbPath 设置仅适用于 mongod
#数据存储配置目录需要提前创建,并确保 mongodb 用户具备读写权限mongod 实例存储数据文件的目录
dbPath: /opt/mongodb/mongodb8/data/db
# 启用或禁用持久性日志以确保数据文件保持有效和可恢复。用于提供崩溃恢复能力,生产环境通常建议开启
journal
enabled: true
systemLog:
# 日志输出配置
destination: file
# 日志输出方式:写入文件
logAppend: true
# 重启后继续追加日志,不覆盖历史日志
path: /opt/mongodb/mongodb8/logs/mongodb.log
# 日志文件路径
# network interfaces
net:
# 网络监听配置
# 远程连接要指定 ip,否则无法连接;0.0.0.0 代表不限制 ip 访问
# MongoDB 服务监听端口,默认是 27017
port: 1234
bindIp: 0.0.0.0
processManagement:
# 启用在后台运行 mongos 或 mongod 进程的守护进程模式;如果使用 systemd 管理服务,通常保持 false 即可
fork: false
# 这点和 MySQL 初始化无密码登录类似。如果忘记密码,也可以通过注释这行并重启后重新无密码登录。
# 安全认证配置,刚开始的时候可注释掉该配置,保证能直接进入数据库。
security:
authorization: enabled添加 systemctl 服务
先创建服务文件:
vi /etc/systemd/system/mongodb.service服务文件内容如下:
[Unit]
Description=MongoDB Database Service
After=network.target
[Service]
User=mongodb
Group=mongodb
ExecStart=/opt/mongodb/mongodb8/bin/mongod --config /opt/mongodb/mongodb8/mongodb.conf
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=90
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target防火墙与服务启动
如果服务器启用了防火墙,需要放行 MongoDB 端口:
firewall-cmd --add-port=27017/tcp --permanent
systemctl restart firewalld
sudo systemctl daemon-reload
sudo systemctl start mongodb
sudo systemctl status mongodb安装 MongoDB Shell
sudo rpm -ivh mongodb-mongosh-2.9.2.x86_64.rpm创建管理员账号
安装完成后,可使用 mongosh 连接并创建管理员账号:
# 连接
mongosh 127.0.0.1:27017
use admin
db.createUser({
user: "admin",
pwd: passwordPrompt(), // 交互式输入密码,不留历史记录
roles: [{ role: "root", db: "admin" }]
})
db.dropUser("admin")