在 Debian 系统中配置 MongoDB,通常包括安装、基础配置、安全配置(用户/权限)、开机启动等步骤。下面以 MongoDB 7.0(官方仓库) 为例说明(适用于 Debian 11/12)。
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
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
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
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
并建议:
mongosh
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword",
roles: [{ role: "root", db: "admin" }]
})
编辑 /etc/mongod.conf:
security:
authorization: enabled
重启:
sudo systemctl restart mongod
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
查看日志:
journalctl -u mongod
常见原因:
netstat -tunlp | grep 27017
如果你需要:
可以告诉我你的使用场景,我可以给你更具体的配置方案。