温馨提示×

如何配置CentOS的MongoDB

小樊
37
2026-08-03 14:35:39
栏目: 云计算

下面以 CentOS 7 / 8 为例,系统讲解如何 安装、配置并运行 MongoDB(以 MongoDB 6.x / 7.x 为例)。如果你使用的是 CentOS StreamRocky / Alma,步骤基本一致。


一、准备环境

1. 检查系统版本

cat /etc/centos-release

2. 关闭 SELinux(可选但推荐)

setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

3. 开放防火墙端口(默认 27017)

firewall-cmd --permanent --add-port=27017/tcp
firewall-cmd --reload

二、安装 MongoDB(官方 YUM 源)

1. 创建 MongoDB YUM 仓库

vi /etc/yum.repos.d/mongodb-org.repo

内容示例(MongoDB 7.0,适用于 CentOS 7/8):

[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc

如需 6.0,把 7.0 改为 6.0


2. 安装 MongoDB

yum clean all
yum makecache
yum install -y mongodb-org

安装完成后,主要目录:

  • 配置文件:/etc/mongod.conf
  • 数据目录:/var/lib/mongo
  • 日志目录:/var/log/mongodb

三、基本配置(mongod.conf)

编辑配置文件:

vi /etc/mongod.conf

常见配置项说明

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true

net:
  port: 27017
  bindIp: 127.0.0.1   # 允许远程访问改为 0.0.0.0

processManagement:
  fork: true
  pidFilePath: /var/run/mongodb/mongod.pid

允许远程访问

bindIp: 0.0.0.0

⚠️ 生产环境不建议直接暴露 27017,建议配合防火墙 + 认证


四、启动并设置开机自启

systemctl start mongod
systemctl enable mongod
systemctl status mongod

五、启用 MongoDB 认证(强烈推荐)

1. 进入 MongoDB

mongosh

2. 创建管理员用户

use admin
db.createUser({
  user: "admin",
  pwd: "StrongPassword",
  roles: [{ role: "root", db: "admin" }]
})

退出:

exit

3. 开启认证

编辑配置:

vi /etc/mongod.conf

添加:

security:
  authorization: enabled

重启 MongoDB:

systemctl restart mongod

4. 使用账号登录

mongosh -u admin -p --authenticationDatabase admin

六、常用管理命令

查看状态

systemctl status mongod

重启 / 停止

systemctl restart mongod
systemctl stop mongod

查看日志

tail -f /var/log/mongodb/mongod.log

七、常见问题

1. 启动失败

journalctl -xe

常见原因:

  • 权限问题
  • 端口被占用
  • SELinux 未关闭

2. 数据目录权限错误

chown -R mongod:mongod /var/lib/mongo

八、生产环境建议

✅ 开启认证
✅ 不使用默认端口
✅ 限制 bindIp
✅ 定期备份
✅ 使用副本集(Replica Set)


如果你需要:

  • MongoDB 副本集配置
  • CentOS + Docker 部署 MongoDB
  • MongoDB 性能优化
  • MongoDB 与 Spring Boot / Node.js 连接示例

可以直接告诉我你的使用场景,我可以给你更针对性的配置方案。

0