当前位置: 首页 > news >正文

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)

问题排查

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

  • 数据目录:/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

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

Your comments and suggestions are welcome!

相关文章:

  • 数据我爬定了,限流也挡不住,我说的
  • 可持久化线段树
  • 计算机网络-网络层篇-子网划分
  • DataX 初识
  • 工程项目管理——第十章 软件项目团队计划
  • 基于Java+SpringBoot+Thymeleaf+Mysql摄影图片分享网站系统设计与实现
  • C#的Dictionary类使用说明
  • 【FPGA教程案例90】机器视觉1——通过FPGA实现基于颜色模型的交通灯检测,使用MATLAB辅助测试
  • winform中c#调用第三方、opencv原生dll库图像处理
  • DS1302 / DS1307 不起振可能是寄存器配置原因
  • 大数据讲课笔记1.7 软件包管理器RPM与yum
  • Python数据类型:序列(列表list、元组tuple、字符串str)
  • 解决VueCropper导致的后端接收文件后缀名为blob的问题
  • [Codeforces] number theory (R1600) Part.11
  • 基于JAVA火车订票系统计算机毕业设计源码+数据库+lw文档+系统+部署
  • ----------
  • [Vue CLI 3] 配置解析之 css.extract
  • [译]Python中的类属性与实例属性的区别
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【node学习】协程
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Angular6错误 Service: No provider for Renderer2
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • CSS相对定位
  • github指令
  • HTTP中GET与POST的区别 99%的错误认识
  • IndexedDB
  • JavaScript 一些 DOM 的知识点
  • Java深入 - 深入理解Java集合
  • Js基础——数据类型之Null和Undefined
  • Material Design
  • React as a UI Runtime(五、列表)
  • React Native移动开发实战-3-实现页面间的数据传递
  • redis学习笔记(三):列表、集合、有序集合
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • 测试开发系类之接口自动化测试
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 基于 Babel 的 npm 包最小化设置
  • 解析带emoji和链接的聊天系统消息
  • 目录与文件属性:编写ls
  • 前端攻城师
  • 在weex里面使用chart图表
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 组复制官方翻译九、Group Replication Technical Details
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (ZT)薛涌:谈贫说富
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (推荐)叮当——中文语音对话机器人
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • *上位机的定义
  • .chm格式文件如何阅读