我在 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
我也遇到过同样的问题。我通过以下方法解决了它:
- 删除
mongod.lock
数据文件夹下的文件(就我而言是/data/mongodb/
) - 更改权限:
sudo chown -R mongodb:mongodb /data/mongodb/
- 并重启多次..
看一眼Stack Overflow 上的这个答案这可能会提供一些信息。