gpt4 book ai didi

mongodb 3.4.3 Permission denied Wiredtiger_kv_engine.cpp 267 错误与 ubuntu 16

转载 作者:IT老高 更新时间:2023-10-28 11:06:52 25 4
gpt4 key购买 nike

我在将 mongod 作为服务启动时遇到问题:当我执行 sudo mongod -f/etc/mongod.conf 但使用 sudo service mongod start 启动它时,它怎么可能在日志中出现错误

断言:28595:13:权限被拒绝 src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 267

我在 ubuntu 16 上运行 mongodb

我完全按照 mongodb 文档中的说明安装该版本,所以这是一个错误吗?任何如何解决这个问题的建议表示赞赏。

附加信息:

mongodb服务启动脚本长这样,以用户mongodb运行,​​会不会和错误有关?lib/systemd/system/mongodb.service:

[Unit]
Description=MongoDB Database Service
Wants=network.target
After=network.target

[Service]
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
User=mongodb
Group=mongodb
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target

最佳答案

I'm having problems lauching mongod as a service: How is it possible that it works when I do sudo mongod -f /etc/mongod.conf but when launching it with sudo service mongod start I get an error in the log

sudo 命令以 root 权限(又名 superuser access )启动 mongod。如果您将 mongod 作为服务运行,则用户和组在服务定义中配置(在您的示例中为 mongodb)。

不需要以 root 用户身份运行 mongod 进程,根据 Principle of least privilege 的常见安全实践,强烈建议不要这样做。 .

如果您想从命令行测试配置,您可以使用 sudo 以指定用户而不是默认(root)用户运行。

例如:

sudo -u mongodb mongod -f /etc/mongod.conf 

一般来说,最好使用服务配置,而不是手动运行 mongod。通过手动调用,您还必须记住包含配置文件路径等参数(因为没有默认配置路径)。如果没有配置文件,mongod 也使用默认选项,例如 /data/dbdbPath

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

您的权限错误的可能原因是之前以 root 用户身份启动了 mongod。某些目录和文件现在可能归 root 用户所有,因此 mongodb 用户无法访问它们。您的具体错误与访问数据目录中的文件有关(即 mongod.conf 中配置的 storage.dbPath)。

假设您没有更改 mongod.conf 文件中的默认路径,您应该能够递归调整权限以匹配 mongod.service 定义的预期.

首先,如果 mongod 实例正在运行,请确保它已停止。

然后,递归调整预期用户和组的权限:

# storage.dbPath
sudo chown -R mongodb:mongodb /var/lib/mongodb

# systemLog.path
sudo chown -R mongodb:mongodb /var/log/mongodb

现在您应该能够将 mongod 作为服务启动。如果服务启动失败,mongod 日志文件中应该有更多详细信息(假设日志文件可由 mongodb 服务用户写入)。

关于mongodb 3.4.3 Permission denied Wiredtiger_kv_engine.cpp 267 错误与 ubuntu 16,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43137250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com