1. 檢查MongoDB服務狀態
使用systemctl命令確認MongoDB服務是否正在運行,若未運行則嘗試啟動并設置開機自啟:
sudo systemctl status mongod # 檢查服務狀態
sudo systemctl start mongod # 啟動服務
sudo systemctl enable mongod # 設置開機自啟
2. 查看MongoDB日志文件
MongoDB的默認日志路徑為/var/log/mongodb/mongod.log,通過tail命令實時查看最新日志,定位具體錯誤信息(如啟動失敗、連接拒絕等):
sudo tail -f /var/log/mongodb/mongod.log # 實時查看日志
sudo grep "error" /var/log/mongodb/mongod.log # 篩選錯誤日志
3. 確認配置文件正確性
檢查MongoDB主配置文件/etc/mongod.conf的關鍵配置項,確保路徑、端口、綁定IP等設置無誤:
storage.dbPath:數據存儲目錄(如/var/lib/mongodb);systemLog.path:日志文件路徑(如/var/log/mongodb/mongod.log);net.port:監聽端口(默認27017);net.bindIp:綁定IP(127.0.0.1僅本地訪問,0.0.0.0允許遠程訪問)。sudo systemctl restart mongod
4. 檢查數據目錄與權限
確認MongoDB數據目錄(由storage.dbPath指定)存在,且所屬用戶為mongodb(默認用戶):
sudo mkdir -p /var/lib/mongodb # 創建數據目錄(若不存在)
sudo chown -R mongodb:mongodb /var/lib/mongodb # 修改目錄所有者
sudo chmod -R 755 /var/lib/mongodb # 設置目錄權限
5. 驗證端口與網絡配置
檢查27017端口是否被MongoDB進程占用,以及防火墻是否允許該端口通信:
sudo netstat -tulnp | grep 27017 # 查看端口占用情況
sudo ufw allow 27017 # 允許端口通過防火墻(Debian默認使用ufw)
6. 使用內置工具診斷性能
db.collection.find().explain("executionStats"))。7. 檢查系統資源使用情況
通過top、df等命令確認系統資源是否充足:
free -h # 查看內存使用情況
df -h # 查看磁盤空間剩余
top # 查看CPU占用率
8. 更新MongoDB版本
若使用舊版本MongoDB(存在已知bug),可通過官方倉庫升級至最新穩定版(需提前備份數據):
# 添加MongoDB官方倉庫(以Debian 11為例)
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update && sudo apt install -y mongodb-org
sudo systemctl restart mongod
9. 查閱官方文檔與社區資源
若上述步驟無法解決問題,參考MongoDB官方故障排除指南(如啟動問題、連接問題),或在MongoDB社區論壇、Stack Overflow搜索類似案例。