以下是Ubuntu下MongoDB的故障排查步骤:
- 查看服务状态:使用
sudo systemctl status mongod或sudo service mongod status检查服务是否运行。 - 检查日志文件:查看
/var/log/mongodb/mongod.log,定位错误信息。 - 验证配置文件:检查
/etc/mongod.conf中dbPath、logPath、port等配置是否正确,使用mongod --config /etc/mongod.conf --eval测试语法。 - 确认数据目录权限:确保数据目录存在且属主为
mongodb,使用sudo chown -R mongodb:mongodb /data/db设置权限。 - 检查端口占用:通过
sudo netstat -tulnp | grep 27017确认端口未被占用,必要时修改配置或停止冲突进程。 - 分析硬件资源:使用
free -h、df -h等命令检查内存、磁盘空间是否充足。 - 使用监控工具:通过
mongostat、mongotop监控性能,或借助第三方工具(如Prometheus)分析慢查询。 - 尝试修复操作:
- 无法启动时,删除
/var/lib/mongodb/mongod.lock并尝试修复:sudo mongod -f /etc/mongod.conf --repair。 - 连接被拒时,检查防火墙规则(
ufw或iptables)是否放行端口。
- 无法启动时,删除
- 更新与重启:确认软件版本为最新,重启服务
sudo systemctl restart mongod。 - 查阅官方资源:若以上步骤无效,参考MongoDB官方文档或社区论坛(如Stack Overflow)。