【问题标题】:mongodb data directory permissionsmongodb数据目录权限
【发布时间】:2011-08-23 20:20:44
【问题描述】:

之前我将所有 mongodb 数据文件存储在 /var/lib/mongodb 目录中..而 /etc/mongodb.conf 中的 dbpath 条目是 /var/lib/mongodb..

现在我想将数据目录更改为 /vol/db..所以我创建了目录 /vol/db 并使用 sudo chown -R id -u /vol/db 更改了权限并将 db 路径条目更改为/etc/mongodb.conf 中的 /vol/db

现在当我使用 sudo service mongodb start 启动 mongodb 时,我在 /var/log/mongodb/mongodb.log 中收到此错误

http://pastebin.com/C0tv8HQN

我需要帮助..我哪里错了?

【问题讨论】:

  • 我正在使用 sudo chown -R id -u /vol/db 和 sudo chown -R username:username /vol/db
  • 你能粘贴 ls -altrh /vol 和 ls -altrh /vol/db 的输出吗?
  • 我也遇到了同样的问题,如果解决了可以回复吗?

标签: mongodb


【解决方案1】:

我遇到了同样的问题,但感谢similar question 能够解决它。您需要确保 /vol/db/mongodb 所有。

sudo chown -R mongodb:mongodb /vol/db/

如果您收到错误chown: invalid user: 'mongodb:mongodb',请检查/etc/passwd 以查看是否存在类似用户(例如mongod)。

【讨论】:

  • 如果我得到一个无效的用户错误并且 /etc/passwd 中没有任何类似的东西怎么办
  • 如果我的服务名称是mongod,我的用户:组是什么?
  • 可能是mongod,试试:groups mongod
【解决方案2】:

尝试以下方法:

$ sudo chmod 755 /vol/db && sudo chown $USER /vol/db

【讨论】:

  • 添加 -R 然后它对我有用,递归所有子文件和文件夹:sudo -R chmod 755 /data/db && sudo chown -R $USER /data/db
【解决方案3】:

我建议通过阅读mongo日志来检查错误是什么

tail -50 /var/log/mongodb/mongodb.log

您可以立即找到问题(包括权限问题)

【讨论】:

    【解决方案4】:

    最简单的应该是

    sudo chmod 777 /data/db
    

    【讨论】:

    • 这对我有用..当我运行 sudo chown mongodb:mongoDB /vol/db 我收到:“非法组名”...这个解决方案有效
    • 这个命令会给相关目录非常开放的权限。 @Kaezarrex (sudo chown mongodb:mongodb /data/db) 的回答应该可以达到预期的效果,而无需如此广泛地开放权限。
    • 永远不要给文件 777,特别是如果它在生产服务器上
    • 是的,如果您根本不关心安全性,这“有效”。
    • 将全球可写目录留在服务器上是个坏主意...任何用户都可以删除/编辑该目录中的任何文件
    【解决方案5】:

    如果在更改新数据库路径的权限和所有权后,您仍然看到此问题,请运行 getenforce 以查看您使用的系统是否在强制模式下运行 SELinux。 如果 getenforce 返回 'enforcing',则很可能 selinux 是权限错误的原因,因为 mongodb 现在在其原始上下文范围之外运行,因为 db 位置已更改为 /var/lib/...

    我不知道细节,但是在不为新上下文编写自己的 selinux 策略的情况下解决问题的蛮力方法是简单地关闭 selinux :-/

    sudo setenforce 0
    

    理想情况下,如果您打算在生产环境中运行,您应该弄清楚如何更新 selinux 策略。

    【讨论】:

      猜你喜欢
      • 2017-09-07
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 2018-06-01
      相关资源
      最近更新 更多