Debian 上 MongoDB 无法启动的原因有很多,下面按最常见 → 较少见的顺序帮你排查。
MongoDB 默认数据目录:
/var/lib/mongodb
如果权限不对,会直接启动失败。
排查:
ls -ld /var/lib/mongodb
修复:
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chmod 700 /var/lib/mongodb
sudo systemctl restart mongod
日志目录通常是:
/var/log/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
sudo ss -tulnp | grep 27017
如果有其他进程占用:
/etc/mongod.conf 的 port常见错误:
检查语法:
sudo mongod --config /etc/mongod.conf --check
最重要的一步:
journalctl -xeu mongod
或
systemctl status mongod
通常能看到真实错误原因。
Debian 12 默认 没有官方 mongodb 包(只有旧版 mongodb-server)。
如果你:
mongodb都可能出问题。
✅ 正确方式(官方源):
sudo apt install gnupg curl
curl -fsSL https://www.mongodb.org/static/pgp/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/debian bookworm/mongodb-org/7.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt update
sudo apt install mongodb-org
df -h
MongoDB 至少需要 ~1GB 内存,否则可能崩溃。
sudo rm /var/lib/mongodb/mongod.lock
sudo chown mongodb:mongodb /var/lib/mongodb
sudo systemctl restart mongod
⚠️ 仅在你确定数据库未损坏时使用。
systemctl status mongod
journalctl -xeu mongod
ls -ld /var/lib/mongodb
ls -ld /var/log/mongodb
ss -tulnp | grep 27017
你可以直接把下面内容贴出来,我可以精准定位:
journalctl -xeu mongod
cat /etc/mongod.conf
告诉我: