linux启动/重启mongo时报错$OPTIONS (code=exited, status=14)

遇到过多次这个问题, 在此记录一下.
网上查了很多, 但关于为什么原本好好的 mongo 会报此类错误的原因分析的文章并不多, 目前发现, 没有正确退出 mongo / mongo 配置文件修改错误 / 修改 mongo 配置文件后重启 等 都有可能导致 mongo 启动失败

在这里插入图片描述

出现错误状态为 status=14,那里主要原因就是文件权限问题,用户 mongod 没有对必需文件的写权限,导致数据库服务不能启动

首先查看数据存储目录、日志目录,和 /tmp 下的*.sock(是通配符)的文件这三个目录或文件的执行权限,可通过 /etc 目录下的 mongod.conf 配置文件查
看目录的具体位置

1、数据存储目录 (dbpath) 的位置,该目录默认在 var/lib/mongo 下,执行如下命令修改目录权限(-R 递归处理所有文件和文件夹)

chown -R mongod:mongod /var/lib/mongo

2、再修改日志目录的权限,该文件默认在var/log/mongodb目录,命令如下

chown -R mongod:mongod /var/log/mongodb

3、最后还有一个文件需要开放用户mongod的写权限,该文件叫*.sock(是通配符),在/tmp路径下。执行如下命令

代码中的*为通配符,表示合法文件名,我的文件全名是mongodb-27017.sock

chown mongod:mongod /tmp/*.sock

接着重新执行

  • 启动MongoDB服务
systemctl start mongod
  • 查看MongoDB服务状态
systemctl status mongod
  • 重启mongo服务
systemctl restart mongod

在这里插入图片描述

若还是启动失败, 可尝试以下方法

删除lock文件

rm /var/lib/mongodb/mongod.lock

接着重启mongo

参考文章:
MongoDB启动报错 Process: 29784 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值