恢复 Debian 上的 MongoDB,要看你说的“恢复”具体指哪一种情况。下面按常见场景给你一套排查 + 恢复步骤,你可以按顺序对照。
sudo systemctl status mongod
active (running) → MongoDB 正常运行inactive (dead) → 服务没启动failed → 启动失败(重点看日志)sudo systemctl start mongod
如果失败,查看详细错误:
sudo journalctl -u mongod -n 50
或:
sudo tail -n 100 /var/log/mongodb/mongod.log
现象
Detected unclean shutdown
解决方法
sudo rm /var/lib/mongodb/mongod.lock
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo systemctl start mongod
⚠️ 如果还是不行,可能需要 修复数据目录:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
然后重启:
sudo systemctl restart mongod
df -h
如果 /var 或 / 满了:
检查配置:
sudo mongod --config /etc/mongod.conf --check
或直接查看:
cat /etc/mongod.conf
常见于:
mongodump 备份mongorestore --drop /path/to/backup
mongorestore --db mydb /path/to/backup/mydb
⚠️ 没有备份 = 无法恢复数据 只能恢复 MongoDB 服务本身,数据会丢失或停留在最后一次成功状态。
sudo apt update
sudo apt install -y mongodb-org
如果之前没加源:
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] \
https://repo.mongodb.org/apt/debian $(lsb_release -cs)/mongodb-org/6.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update
sudo apt install -y mongodb-org
mongo
或(新版本):
mongosh
show dbs
你可以直接把下面信息发我,我可以精确告诉你怎么恢复:
cat /etc/os-release)systemctl status mongod 输出/var/log/mongodb/mongod.log 最后 30 行错误我可以直接给你“复制即用”的命令 ✅