sudo systemctl status mongod
确认服务是否运行,未运行则尝试启动。/var/log/mongodb/mongod.log
,通过 tail -f
查看实时错误信息。/etc/mongod.conf
中 dbPath
(数据目录)、logPath
(日志路径)、port
(端口)、bindIp
(绑定IP)等配置是否正确。mongodb
用户(如 sudo chown -R mongodb:mongodb /var/lib/mongodb
)。sudo netstat -tulnp | grep 27017
检查端口占用,通过 ufw allow 27017
开放防火墙端口。top
、df -h
监控内存、磁盘空间是否充足。问题类型 | 具体表现 | 解决方案 |
---|---|---|
服务无法启动 | Failed to start mongod |
检查日志中的配置错误(如路径错误、权限不足),修复后重启服务。 |
连接失败 | Connection refused |
确保服务运行,检查防火墙、bindIp 配置(默认仅本地访问,远程需设为 0.0.0.0 )。 |
性能缓慢 | 查询延迟高 | 使用 mongostat 监控负载,优化索引(如通过 explain() 分析慢查询),调整 wiredTigerCacheSizeGB 。 |
数据异常 | 数据丢失或不一致 | 检查副本集状态(rs.status() ),确认写入操作是否成功,修复后重启服务。 |
依赖库错误 | libcrypto.so 缺失 |
安装缺失库(如 sudo apt-get install libssl-dev ),更新动态链接库缓存。 |
mongostat
(实时性能)、mongotop
(集合级读写)、db.serverStatus()
(服务器状态)。注意:操作前建议备份数据,重大配置修改后需重启服务生效。