Mongo服务重启异常问题的处理方法_MongoDB

来源:脚本之家  责任编辑:小易  

发现问题

现在公司的服务器经常性断电,所以要经常性重启所有的服务,然而这些redis、mysql、mongo等服务中,mongo经常性出现重启失败的情况,根据之前的经验和网络上帖子的信息,这里记录一下总结;

首先说明一下,这里安装的服务都是通过yum 或者 apt 安装的,这是我一直推荐和使用的操作,因为这样安装整洁、该放什么类型的文件到哪个目录下都是一样的(如:/var/log/xxx/xxx.log)

报错主要问题如下:

[root@localhost mongo]# systemctl status mongod
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 一 2021-06-28 14:32:51 CST; 6s ago
     Docs: https://docs.mongodb.org/manual
  Process: 3351 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=1/FAILURE)
  Process: 3348 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 3345 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 3343 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)

6月 28 14:32:51 localhost systemd[1]: Starting MongoDB Database Server...
6月 28 14:32:51 localhost mongod[3351]: about to fork child process, waiting until server is ready for connections.
6月 28 14:32:51 localhost mongod[3351]: forked process: 3354
6月 28 14:32:51 localhost mongod[3351]: ERROR: child process failed, exited with 1
6月 28 14:32:51 localhost mongod[3351]: To see additional information in this output, start without the "--fork" option.
6月 28 14:32:51 localhost systemd[1]: mongod.service: control process exited, code=exited status=1
6月 28 14:32:51 localhost systemd[1]: Failed to start MongoDB Database Server.
6月 28 14:32:51 localhost systemd[1]: Unit mongod.service entered failed state.
6月 28 14:32:51 localhost systemd[1]: mongod.service failed.

看到异常的发生,并不能从其中获取到非常有效的信息,那就先去看下日志,在日志文件中可以看到一些有用的信息(这里没有及时记录截图,就先不放代码或截图了)

处理步骤:

使用mongo提供的修复工具,执行一下命令:

mongod --repair -f /etc/mongod.conf

这里说明下,有的帖子说,执行第一步之后,执行启动命令(如下所示:),其中携带指向新的dbpath和logpath参数,这样也能起来,但是你数据就丢了,而且不能每次都给指向新的目录吧。

mongod --port 27017 --dbpath /data/db  --logpath /var/log/mongod.log --fork

检查mongo的dbpath目录(默认:/var/lib/mongodb)下是否存在mongod.lock文件,如果有,将其删除;

检查dbpath目录(默认:/var/lib/mongodb),日志目录(默认:/var/lib/mongo)权限的问题,是否mongod.mongod 拥有操作权限,如果没有,就给mongod.mongod授权:

chown -Rc mongod. /var/log/mongodb

chown -Rc mongod. /var/lib/mongo

以上步骤执行完成,就能够重新启动mongodb服务了。

总结

到此这篇关于Mongo服务重启异常问题处理的文章就介绍到这了,更多相关Mongo服务重启异常内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:mongos崩溃后无法重启问题的解决方法

  • 本文相关:
  • 浅析mongodb之安全认证
  • mongodb 使用skip和limit分页
  • pycharm连接mongodb数据库安装教程详解
  • mongodb中crud的深入讲解
  • mongodb快速入门笔记(二)之mongodb的概念及简单操作
  • mongodb 添加用户及权限设置详解
  • windows下安装mongodb以及node.js连接mongodb实例
  • mongodb的安装和开机自启动详细讲解
  • mongodb在建立一个t级别的数据库时,进程挂掉的解决方法
  • mongodb整库备份与还原以及单个collection备份、恢复方法
  • 如何开启mongo数据库服务
  • mongo启动链接服务报错怎么解决?
  • 为什么os系统中apache服务下的php mongo扩展不能用而nginx...
  • 请问有支持php+mongo的云主机的服务商吗?官网是多少?
  • MsSQL数据导入到Mongo的默认编码问题(正确导入Mongo的方...
  • 【nodejs】express-session和connect-mongo模块使用问题
  • java mongo连接问题,一直超时,原因不知道在哪
  • java mongo连接问题,一直超时,原因不知道在哪
  • java mongo连接问题,一直超时,原因不知道在哪
  • java mongo连接问题,一直超时,原因不知道在哪
  • mongo 在linux安装出现无法进入命令行问题
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页mongos崩溃后无法重启问题的解决方法浅析mongodb之安全认证mongodb 使用skip和limit分页pycharm连接mongodb数据库安装教程详解mongodb中crud的深入讲解mongodb快速入门笔记(二)之mongodb的概念及简单操作mongodb 添加用户及权限设置详解windows下安装mongodb以及node.js连接mongodb实例mongodb的安装和开机自启动详细讲解mongodb在建立一个t级别的数据库时,进程挂掉的解决方法mongodb整库备份与还原以及单个collection备份、恢复方法mongodb常用操作命令大全mongodb各种查询操作详解mongodb数据库插入、更新和删除操mongodb 数据库操作--备份 还原 浅谈mysql和mariadb区别(mariadbmongodb中使用distinct去重的简单mongodb插入数据的3种方法mongodb整库备份与还原以及单个cmongodb常见错误与解决方法小结(mongodb查询操作限制返回字段的方mac下安装配置mongodb并创建用户的方法cgroup限制mongodb进程内存大小mongodb 游标详解及实例代码mongodb中mapreduce的使用方法详解mongodb聚合group的操作指南浅析mongodb用户管理mongodb数据库插入、更新和删除操作详解mongodb如何查询耗时记录的方法详解mongodb 常见问题处理方法收集mongodb 常用的数据类型和基本操作
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved