温馨提示×

centos mongodb如何设置

小樊
39
2026-10-02 22:26:16
栏目: 云计算

下面按从零开始在 CentOS 上安装并配置 MongoDB的思路给你讲,适用于 CentOS 7 / 8(包括常见的生产基本设置)。


一、安装 MongoDB(以 MongoDB 6.x 为例)

1. 创建 MongoDB 的 yum 源

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

写入以下内容:

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

2. 安装 MongoDB

sudo yum install -y mongodb-org

安装完成后,主要目录:

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

二、启动与开机自启

sudo systemctl start mongod
sudo systemctl enable mongod

查看状态:

sudo systemctl status mongod

三、基础配置(/etc/mongod.conf)

1. 修改监听地址(重要)

默认只监听 127.0.0.1,远程访问需修改:

net:
  port: 27017
  bindIp: 0.0.0.0   # 或指定IP,如 192.168.1.100

⚠️ 生产环境不建议直接 0.0.0.0,应配合防火墙和安全组。


2. 开启用户认证(非常重要)

(1)先不开启认证,创建管理员

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

(2)修改配置文件开启认证

security:
  authorization: enabled

重启 MongoDB:

sudo systemctl restart mongod

(3)登录方式

mongo -u root -p --authenticationDatabase admin

四、防火墙设置(CentOS)

sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload

五、创建普通数据库和用户(示例)

use mydb
db.createUser({
  user: "appuser",
  pwd: "AppPass",
  roles: [{ role: "readWrite", db: "mydb" }]
})

连接:

mongo -u appuser -p --authenticationDatabase mydb

六、常见问题

1. 启动失败

查看日志:

cat /var/log/mongodb/mongod.log

常见原因:

  • 数据目录权限不足
  • 端口被占用
  • bindIp 配置错误

2. 数据目录换盘(示例)

mkdir -p /data/mongo
chown -R mongod:mongod /data/mongo

修改配置:

storage:
  dbPath: /data/mongo

七、最小生产建议

✅ 开启认证
✅ 不使用 root 远程登录
✅ 限制 bindIp
✅ 定期备份(mongodump)
✅ 使用副本集(生产环境)


如果你愿意,我可以:

  • 给你 MongoDB 副本集配置
  • 给你 Docker 版 MongoDB
  • 或按你的 CentOS 版本 + MongoDB 版本精确写一套配置

你现在是 学习 / 测试 / 生产 环境?

0 踩