以下是MongoDB在CentOS上的故障排查步骤:
检查服务状态
systemctl status mongod
若未启动,执行:
sudo systemctl start mongod
sudo systemctl enable mongod # 设置开机自启
查看日志文件
journalctl -xe | grep mongod
cat /var/log/mongodb/mongod.log
验证配置文件
检查/etc/mongod.conf
关键参数:
bindIp
:确保允许远程连接(如0.0.0.0
)。port
:默认27017
,需与防火墙一致。dbPath
:数据目录路径是否正确,权限是否为mongodb:mongodb
。排查端口与防火墙
sudo lsof -i :27017
,若被占用则终止进程。sudo firewall-cmd --add-port=27017/tcp --permanent && sudo firewall-cmd --reload
。检查磁盘与权限
/data/db
)有足够空间:df -h
。sudo chown -R mongodb:mongodb /data/db /var/log/mongodb
。使用诊断工具
mongostat
(查看性能指标)、mongotop
(监控集合访问)。mongo --host <服务器IP> --port 27017
,验证远程访问。处理认证问题
若启用认证,确保用户名/密码正确,且用户拥有对应数据库权限:
use admin
db.auth("用户名", "密码")
其他高级操作
crash
工具)。sudo setenforce 0
,测试是否为SELinux限制。提示:操作前建议备份数据,若无法解决可参考MongoDB官方文档或社区论坛。[1,2,3,4,5,6,7,8,9,10]