下面按从零开始在 Ubuntu 上配置 MongoDB的思路,给你一套常用、可靠、适合生产/开发的配置流程(以 Ubuntu 22.04 / 24.04 + MongoDB 7.x 为例)。
sudo apt update
sudo apt install -y gnupg curl
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt update
sudo apt 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
path: /var/log/mongodb/mongod.log
logAppend: true
net:
port: 27017
bindIp: 127.0.0.1 # 只允许本机
security:
authorization: enabled
修改后重启:
sudo systemctl restart mongod
mongosh
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword",
roles: [{ role: "root", db: "admin" }]
})
security:
authorization: enabled
重启:
sudo systemctl restart mongod
use mydb
db.createUser({
user: "appuser",
pwd: "AppPassword",
roles: [{ role: "readWrite", db: "mydb" }]
})
登录方式:
mongosh -u appuser -p AppPassword --authenticationDatabase mydb
net:
bindIp: 0.0.0.0
⚠️ 务必配合防火墙 + 认证使用
sudo ufw allow from 你的IP to any port 27017
# 查看日志
sudo tail -f /var/log/mongodb/mongod.log
# 备份
mongodump --uri="mongodb://user:pwd@localhost:27017/mydb"
# 恢复
mongorestore --uri="mongodb://user:pwd@localhost:27017/mydb" dump/
✅ 启动失败
→ 看日志:/var/log/mongodb/mongod.log
✅ 权限错误
→ 检查 dbPath 目录权限:
sudo chown -R mongodb:mongodb /var/lib/mongodb
如果你需要:
告诉我你的使用场景,我可以直接给你对应配置。