• MongoDB的日志目录被删除了,导致无法启动:(code=exited, status=1/FAILURE)


    背景

    2017年部署的一个基于 Vue , Node.js , MongoDB 构建的 Web 项目,今天访问时突然打不开了,查看日志发现 MongoDB 数据库竟然无法连接了。数据库的错误信息如下:

    ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=1/FAILURE)

    2022-10-01-MongoDB.jpg

    问题复现

    在尝试启动/重启 MongoDB 数据库服务时,会发现服务启动失败……WTF,这5年来服务一直正常,好好地怎么就起不来了?

    root@iZuf69c5h89bkzv0aqfm8lF:~# service mongod restart
    root@iZuf69c5h89bkzv0aqfm8lF:~# service mongod status
    ● mongod.service - High-performance, schema-free document-oriented database
       Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
       Active: failed (Result: exit-code) since Thu 2022-09-29 19:46:45 CST; 3s ago
         Docs: https://docs.mongodb.org/manual
      Process: 29156 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=1/FAILURE)
     Main PID: 29156 (code=exited, status=1/FAILURE)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    问题排查

    出现问题,第一时间应保护现场,查看日志。可从配置文件中获取到以下目录存储信息:

    • 数据目录:/var/lib/mongodb

    • 日志目录:/var/log/mongodb

    可是当我通过tail /var/log/mongodb/mongod.log查看日志时,竟然提示没有这个文件???!!!

    那么问题来了,肯定是有人删除了MongoDB的日志目录。。

    解决方案

    解决起来比较简单,直接手动创建MongoDB的日志目录:

    进入日志目录:cd /var/log
    创建日志目录:mkdir mongodb
    创建日志文件:touch mongod.log

    最后,记得将新创建的日志目录赋给mongodb用户即可;接着重启服务,成功~

    # mongodb用户授权
    root@iZuf69c5h89bkzv0aqfm8lF:/var/log# chown -R mongodb:mongodb /var/log/mongodb
    
    # 重启服务
    root@iZuf69c5h89bkzv0aqfm8lF:/var/log# service mongod restart
    
    # 查看服务状态
    root@iZuf69c5h89bkzv0aqfm8lF:/var/log# service mongod status
    ● mongod.service - High-performance, schema-free document-oriented database
       Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
       Active: active (running) since Thu 2022-09-29 19:47:37 CST; 1s ago
         Docs: https://docs.mongodb.org/manual
     Main PID: 29758 (mongod)
       CGroup: /system.slice/mongod.service
               └─29758 /usr/bin/mongod --config /etc/mongod.conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    If you have any questions or any bugs are found, please feel free to contact me.

    Your comments and suggestions are welcome!

  • 相关阅读:
    第十六章《正则表达式》第3节:Pattern类
    Java 入门练习(21 - 25)
    OpenGL | 通过绘制一个三角形来入门 OpenGL 图形渲染管线
    LeetCode 面试题 08.12. 八皇后
    2.5 logistic 回归初认识
    什么是堆栈和队列?如何实现它们?
    二叉树链式结构的实现
    玩石头游戏的必胜策略-2023年全国青少年信息素养大赛Python复赛真题精选
    LogiKM 2.6.0 配置安装
    大学毕业去什么样的公司工作不后悔?
  • 原文地址:https://blog.csdn.net/u013810234/article/details/127134292