【问题标题】:Dont want to have to start mongod with `sudo mongod`不想用`sudo mongod`启动mongod
【发布时间】:2016-04-25 20:26:47
【问题描述】:

我刚刚通过 brew install mongodb 将 mongodb 下载到装有 OS X 10.9.5 的全新 MacBookAir 上。

我尝试从终端运行mongod,它说“没有/data/db”,所以我用sudo mkdir /datasudo mkdir /data/db 创建了它。

现在运行 mongod 我得到“无法创建/打开锁定文件:/data/db/mongod.lock errno:13 Permission denied”,但我可以使用 sudo mongod 完美运行它。

我怎样才能做到这一点,这样我就不必使用 sudo 运行 mongod,而是像 mongod 一样简单?

(我在上一台电脑上也是这样,但完全不记得我做了什么,而且那台电脑反正是一团糟。)

【问题讨论】:

    标签: macos mongodb


    【解决方案1】:

    这对我有用:

    sudo chmod -R 777 /data/db
    

    然后

    sudo chown -R `id -u` /data/db
    

    -R 使命令递归;我之前按照其他 StackOverflow 答案的说明尝试了 sudo chmod 777 /data/dbsudo chown `id -u` /data/db,但都失败了。

    (PS 很抱歉,我知道这是一个非常古老的问题,但我在尝试寻找问题的答案时发现了它;既然我设法解决了它,我想我会把它放在这里给任何人未来。另外我不确定这两个命令中的哪一个有所不同,但它起作用了。)

    【讨论】:

      【解决方案2】:

      简单开始

       mongod --dbpath ~/.mongodb/data --logpath ~/.mongodb/mongod.log --fork
      

      做完之后

      mkdir ~/.mongodb
      

      问题是默认 dbpath /data/mongodb 是为 root 创建的。

      另一种选择是做一个

      chown <your username here> -R /data/mongodb
      

      并使用默认路径运行 mongod。

      作为直接在 OSX 下运行 MongoDB 的替代方法,您可能想看看m202docker,它允许您在(瘦)虚拟化环境中运行 MongoDB。还有其他用于 MongoDB 的 Docker 镜像。

      免责声明:我创建了 m202docker 映像,所以我可能有偏见

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-13
        • 1970-01-01
        • 2017-02-04
        • 2018-01-22
        • 1970-01-01
        • 2015-07-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多