不想使用`sudo mongod`来启动mongod

14

我刚刚通过执行brew install mongodb在我的全新MacBookAir上安装了mongodb,其操作系统为OS X 10.9.5。

我尝试从终端运行mongod,但它显示“无/data/db”错误,因此我使用sudo mkdir /datasudo mkdir /data/db创建了它。

现在运行mongod时,我得到一个“无法创建/打开锁文件:/data/db/mongod.lock errno:13 Permission denied”的错误,但我可以通过sudo mongod正常运行它。

如何使mongod不需要使用sudo运行,而只需像mongod一样简单地运行即可?

(我在上一台计算机上就是这样做的,但我完全不记得我当时做了什么,而那台计算机也出了很多问题。)

2个回答

18

这对我有效:

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 对不起,我知道这是一个很老的问题,但我在尝试寻找答案时找到了它;既然我成功解决了它,我想在这里放一下,以供未来的任何人参考。此外,我不确定这两个命令中的哪一个起了作用,但是它起作用了。)

5

从简单的开始

 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映像,因此我可能存在偏见


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接