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)

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Linux重启MongoDB,可以使用两种方法。第一种方法是在/etc/rc.local文件中添加MongoDB启动命令,具体命令为vi /etc/rc.local,然后在文件中添加以下内容:/home/mongo/mongodb-4.2.0/bin/mongod -f /home/mongo/mongodb-4.2.0/bin/mongodb.conf。这样,在每次系统重启MongoDB会自动启动。 另一种方法是创建一个名为mongodb启动脚本,并将其放置在/etc/init.d目录下。在该脚本中,可以定义启动、停止和重启MongoDB的命令。具体内容如下: ``` #!/bin/bash #chkconfig:2345 20 90 #description:mongodb export MONGODB_HOME=/home/mongo/mongodb-4.2.0 export PATH=$MONGODB_HOME/bin:$PATH case $1 in start) /home/mongo/mongodb-4.2.0/bin/mongod -f /home/mongo/mongodb-4.2.0/bin/mongodb.conf ;; stop) /home/mongo/mongodb-4.2.0/bin/mongod -f /home/mongo/mongodb-4.2.0/bin/mongodb.conf --shutdown ;; restart) /home/mongo/mongodb-4.2.0/bin/mongod -f /home/mongo/mongodb-4.2.0/bin/mongodb.conf --shutdown /home/mongo/mongodb-4.2.0/bin/mongod -f /home/mongo/mongodb-4.2.0/bin/mongodb.conf ;; *) echo "require start|stop|restart" ;; esac ``` 将以上内容保存为名为mongodb的文件,并将其放置在/etc/init.d目录下。然后,可以使用以下命令重启MongoDB: ``` /etc/init.d/mongodb restart ``` <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [linux安装mongo4.2.0](https://blog.csdn.net/ywlmsm1224811/article/details/100103577)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [linux重启正在运行的mongodb,linuxmongo启动关闭重启方法](https://blog.csdn.net/weixin_36412332/article/details/116680143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值