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

当我们使用systemctl start mongod启动MongoDB数据时,报错如下
在这里插入图片描述

这里我们可以使用systemctl status mongod.service命令查看详细错误信息,如下图在这里插入图片描述
如果出现错误状态为status=14,那里主要原因就是文件权限问题,用户mongod没有对必需文件的写权限,导致数据库服务不能启动。

解决办法:
首先查看数据存储目录、日志目录,和/tmp下的*.sock(*是通配符)的文件这三个目录或文件的执行权限,可通过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

启动成功
在这里插入图片描述

注意事项:
如果不是因为上面这个原因:
可通过配置文件启动(下下策)

mongod -f /etc/mongod.conf

其它原因可能有:
1、mongod.conf配置文件存在格式错误
2、或者通过上面方法查看具体错误状态再查找


版权声明:本文为weixin_44806193原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。