centos

mongodb在centos上的故障排查

小樊
38
2025-08-30 17:45:02
栏目: 云计算

以下是MongoDB在CentOS上的故障排查步骤:

  1. 检查服务状态

    systemctl status mongod  
    

    若未启动,执行:

    sudo systemctl start mongod  
    sudo systemctl enable mongod  # 设置开机自启  
    
  2. 查看日志文件

    • 系统日志:journalctl -xe | grep mongod
    • MongoDB日志:cat /var/log/mongodb/mongod.log
      重点关注“ERROR”“Failed”等关键词。
  3. 验证配置文件
    检查/etc/mongod.conf关键参数:

    • bindIp:确保允许远程连接(如0.0.0.0)。
    • port:默认27017,需与防火墙一致。
    • dbPath:数据目录路径是否正确,权限是否为mongodb:mongodb
  4. 排查端口与防火墙

    • 检查端口占用:sudo lsof -i :27017,若被占用则终止进程。
    • 开放防火墙:sudo firewall-cmd --add-port=27017/tcp --permanent && sudo firewall-cmd --reload
  5. 检查磁盘与权限

    • 确保数据目录(如/data/db)有足够空间:df -h
    • 修复权限:sudo chown -R mongodb:mongodb /data/db /var/log/mongodb
  6. 使用诊断工具

    • 实时监控:mongostat(查看性能指标)、mongotop(监控集合访问)。
    • 连接测试:mongo --host <服务器IP> --port 27017,验证远程访问。
  7. 处理认证问题
    若启用认证,确保用户名/密码正确,且用户拥有对应数据库权限:

    use admin  
    db.auth("用户名", "密码")  
    
  8. 其他高级操作

    • 若服务异常崩溃,分析核心转储文件(需安装crash工具)。
    • 临时关闭SELinux:sudo setenforce 0,测试是否为SELinux限制。

提示:操作前建议备份数据,若无法解决可参考MongoDB官方文档或社区论坛。[1,2,3,4,5,6,7,8,9,10]

0
看了该问题的人还看了