You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon Linux实例MongoDB停止后启动失败排查求助

解决方案步骤

1. 修正MongoDB修复命令(指定自定义数据目录)

之前修复操作失败是因为未指定自定义数据目录,导致MongoDB默认读取/data/db。执行修复时需明确指定配置文件或数据路径:

# 通过配置文件指定参数执行修复
mongod --repair --config /etc/mongod.conf

# 或直接指定数据目录
mongod --repair --dbpath /mongo/data

2. 彻底修复目录权限问题

日志明确显示WiredTiger日志文件访问权限被拒绝,需确保/mongo目录下所有文件/子目录的所有者为MongoDB运行用户(默认是mongod):

# 递归设置/mongo目录的所有者和组为mongod
chown -R mongod:mongod /mongo

# 设置数据目录及文件的权限
chmod -R 755 /mongo/data
chmod -R 644 /mongo/data/*

# 单独确保journal目录权限正确
chown mongod:mongod /mongo/data/journal
chmod 755 /mongo/data/journal

同时检查PID文件目录权限,避免无法创建进程文件:

mkdir -p /var/run/mongodb
chown mongod:mongod /var/run/mongodb
chmod 755 /var/run/mongodb

3. 手动启动验证配置有效性

先清理残留进程,再手动指定配置文件启动,排查启动报错:

# 终止所有mongod进程
pkill mongod

# 手动加载配置文件启动
mongod --config /etc/mongod.conf

若手动启动成功,再用服务命令启动:

service mongod start

4. 确认服务脚本的配置文件路径

检查/etc/init.d/mongod脚本,确保其中指定的配置文件路径是/etc/mongod.conf,而非默认路径,避免服务启动时加载错误配置。

5. 检查SELinux限制(若启用)

若Amazon Linux开启了SELinux,可能会阻止mongod访问自定义目录:

# 查看SELinux状态
sestatus

若状态为enforcing,添加目录上下文规则:

semanage fcontext -a -t mongod_var_lib_t "/mongo/data(/.*)?"
restorecon -Rv /mongo/data
semanage fcontext -a -t mongod_log_t "/mongo/log(/.*)?"
restorecon -Rv /mongo/log

内容的提问来源于stack exchange,提问作者DevOps_Engg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 01:51:05