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

Ubuntu 18.04 LTS上MongoDB服务启动失败(状态码14)求助

问题排查与解决方案

一、针对systemctl启动mongod失败(退出码14)的排查步骤

既然手动执行/usr/bin/mongod --config /etc/mongod.conf能正常运行,说明MongoDB本身和配置文件是没问题的,问题大概率出在systemd服务单元的配置或运行环境上,退出码14通常和进程权限、PID文件目录相关,按以下步骤排查:

  1. 检查mongod的systemd服务文件
    systemd管理的mongod服务配置通常在/lib/systemd/system/mongod.service(如果是自定义服务可能在/etc/systemd/system/mongod.service)。执行命令查看内容:

    cat /lib/systemd/system/mongod.service
    

    重点核对以下几项:

    • ExecStart:确认是否和你手动运行的命令一致,即/usr/bin/mongod --config /etc/mongod.conf
    • User/Group:确认是否为mongodb(MongoDB默认运行用户)
    • PIDFile:通常是/var/run/mongodb/mongod.pid,这个路径的目录需要mongodb用户有读写权限
  2. 修复PID文件目录的权限
    如果/var/run/mongodb目录不存在或权限错误,mongod无法创建PID文件,会导致systemd判定启动失败。执行以下命令修复:

    sudo mkdir -p /var/run/mongodb
    sudo chown mongodb:mongodb /var/run/mongodb
    sudo chmod 0755 /var/run/mongodb
    

    然后重载systemd配置并重启服务:

    sudo systemctl daemon-reload
    sudo systemctl restart mongod
    
  3. 查看systemd的详细启动日志
    mongod.log可能只记录自身运行日志,systemd的日志能展示启动时的权限问题、进程退出信号等关键信息。执行命令查看:

    journalctl -u mongod -xe
    

    日志里会明确提示失败原因,比如权限不足、路径不存在等,根据提示进一步修复即可。

二、MongoDB的配置检查命令(类似nginx -t)

MongoDB从3.6版本开始提供了专门的配置文件验证命令,完全可以替代nginx -t的作用:

  • 验证配置文件语法与有效性:
    mongod --config /etc/mongod.conf --configCheck
    
    如果配置文件有语法错误或无效选项,会直接输出错误提示;如果配置正常则无输出。
  • 解析并输出最终生效配置:
    也可以用--parseConfig选项来解析配置文件并打印最终生效的配置,同样能验证语法正确性:
    mongod --config /etc/mongod.conf --parseConfig
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 18:12:49