以下是Ubuntu下MongoDB的故障排查步骤:
- 检查服务状态
使用命令sudo systemctl status mongod确认服务是否运行。 - 查看日志文件
分析/var/log/mongodb/mongod.log,定位错误信息(如配置错误、权限问题等)。 - 验证配置文件
检查/etc/mongod.conf中的关键配置(如dbPath、logPath、bindIp、port),确保路径存在且权限正确。 - 处理权限问题
确保数据目录(如/var/lib/mongodb)归mongodb用户所有,使用sudo chown -R mongodb:mongodb /var/lib/mongodb修复。 - 检查端口占用
通过sudo netstat -tulnp | grep 27017确认端口未被占用,若被占用则停止冲突进程或修改配置文件中的端口。 - 确认防火墙规则
若需远程连接,确保防火墙开放27017端口:sudo ufw allow 27017,并检查bindIp是否允许远程IP(如设为0.0.0.0)。 - 尝试修复或重建数据目录
若数据文件损坏,可删除数据目录(注意备份数据)并重启服务:sudo rm -rf /var/lib/mongodb/*,或使用mongod --repair修复。 - 重启服务
修改配置后,执行sudo systemctl restart mongod使更改生效。 - 排查系统资源
使用df -h和free -h检查磁盘和内存是否充足,避免因资源不足导致服务异常。 - 查阅官方文档或社区
若以上步骤无效,参考 MongoDB官方文档 或社区论坛(如Stack Overflow)获取针对性解决方案。
注:操作前建议备份重要数据,尤其是涉及数据目录修改时。