温馨提示×

debian中mongodb怎么配置

小樊
47
2026-09-29 13:29:46
栏目: 云计算

在 Debian 系统中配置 MongoDB,通常包括安装、基础配置、安全配置(用户/权限)、开机启动等步骤。下面以 MongoDB 7.0(官方仓库) 为例说明(适用于 Debian 11/12)。


一、安装 MongoDB(官方源,推荐)

1. 导入 MongoDB GPG 密钥

sudo apt-get install -y gnupg curl
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg

2. 添加 MongoDB 源

echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/debian $(lsb_release -cs)/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

3. 安装

sudo apt-get update
sudo apt-get install -y mongodb-org

二、启动与开机自启

sudo systemctl start mongod
sudo systemctl enable mongod

查看状态:

sudo systemctl status mongod

三、基础配置文件(重要)

MongoDB 主配置文件位置:

/etc/mongod.conf

常见配置项说明(YAML 格式)

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

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

net:
  port: 27017
  bindIp: 127.0.0.1   # 只允许本机访问

processManagement:
  timeZoneInfo: /usr/share/zoneinfo

修改配置后重启:

sudo systemctl restart mongod

四、允许远程访问(谨慎)

⚠️ 公网暴露 MongoDB 非常危险

net:
  bindIp: 0.0.0.0

并建议:

  • 配置防火墙(ufw / iptables)
  • 使用 MongoDB 用户认证
  • 不要使用默认端口(可选)

五、用户与权限配置(强烈推荐)

1. 进入 MongoDB

mongosh

2. 创建管理员用户

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

3. 启用认证

编辑 /etc/mongod.conf:

security:
  authorization: enabled

重启:

sudo systemctl restart mongod

4. 使用账号登录

mongosh -u admin -p --authenticationDatabase admin

六、创建业务数据库和用户(示例)

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

七、常用管理命令

# 查看日志
sudo tail -f /var/log/mongodb/mongod.log

# 数据目录
/var/lib/mongodb

# 备份
mongodump --db mydb --out /backup/

# 恢复
mongorestore --db mydb /backup/mydb

八、常见问题

1. 启动失败

查看日志:

journalctl -u mongod

常见原因:

  • 权限问题(data / log 目录)
  • 配置语法错误

2. 端口被占用

netstat -tunlp | grep 27017

如果你需要:

  • Docker 方式部署
  • MongoDB 副本集(Replica Set)
  • Debian + MongoDB + 应用连接示例

可以告诉我你的使用场景,我可以给你更具体的配置方案。

0 踩