启动 mongodb 作为服务时出现权限问题

启动 mongodb 作为服务时出现权限问题

我在 asw 上使用 GNU/LInux 4.4,我想运行 mongodb 服务器(v3.4.3)

当我执行以下命令时,我可以运行服务器并且一切正常:

sudo mongod --config /etc/mongod.conf

我在日志文件中看到该服务正在运行并且一切正常。

当我尝试将其作为服务运行时(我相信这是生产中推荐的方式),我收到权限错误消息

sudo service mongod start

然后我在日志文件中收到此错误:

assertion: 28595:13: Permission denied src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 267

我有两个问题:

  1. 为什么我会收到此错误?我该怎么办?
  2. 当我将其作为服务运行时,似乎不需要指定配置文件,但他似乎可以正确读取它,因为他将错误消息写入配置文件中指定的日志文件。当我将其作为服务运行时,他如何自动知道要使用哪个配置文件?

答案1

我也遇到过同样的问题。我通过以下方法解决了它:

  • 删除mongod.lock数据文件夹下的文件(就我而言是/data/mongodb/
  • 更改权限:sudo chown -R mongodb:mongodb /data/mongodb/
  • 并重启多次..

看一眼Stack Overflow 上的这个答案这可能会提供一些信息。

相关内容