Linux下MongoDB故障排查实战指南
一 快速定位流程
二 常见故障与修复对照表
| 现象 | 快速检查 | 修复建议 |
|---|---|---|
| 服务起不来或反复失败 | systemctl status、日志报错 | 查看日志定位根因;必要时以修复模式启动:mongod --repair;修复后正常启动 |
| 启动报错或异常退出 | 日志中权限/路径/进程残留线索 | 确认数据目录与日志目录属主为 mongod;清理异常残留的 mongod.lock;必要时先 kill 旧进程再启动 |
| 本地可连,远程连不上 | bindIp、防火墙/安全组、云白名单 | 将 bindIp 改为服务器IP或0.0.0.0;放行 27017;云上配置安全组/白名单 |
| 连接被拒绝 ECONNREFUSED | telnet/nc 端口不通 | 服务未监听/端口未放行/被占用;启动服务、放行端口、排查端口占用 |
| 认证失败 | 日志 Authentication failed | 核对用户名/密码;连接串使用 ?authSource=admin;密码含特殊字符需 URL 编码 |
| 副本集节点异常/主节点丢失 | 节点间网络、优先级、防火墙 | 稳定网络与正确启动顺序;为期望主节点设置更高 priority;关闭防火墙或放行 27017 |
| 性能骤降/卡顿 | mongostat/mongotop、慢查询 | 优化慢查询与索引;必要时读写分离、引入缓存、拆分业务负载 |
三 日志与性能分析
四 配置与权限关键点
五 安全与变更建议