不想用'sudo mongod`开始mongod

tsc*_*zle 14 macos mongodb

我刚刚通过OS X 10.9.5将mongodb下载到我的白兰地新款MacBookAir上brew install mongodb.

我试图mongod从终端运行,它说"没有/数据/数据库"所以我用sudo mkdir /data和创建它sudo mkdir /data/db.

现在运行mongod我得到"无法创建/打开锁定文件:/data/db/mongod.lock错误:13权限被拒绝"但我可以完全正常运行它sudo mongod.

我怎样才能做到这一点,以便我不必用sudo运行mongod,而只是简单地说mongod

(我在上一台计算机上就是这样,但是根本不记得我做了什么,而且计算机都搞砸了.)

sab*_*ele 16

这对我有用:

sudo chmod -R 777 /data/db
Run Code Online (Sandbox Code Playgroud)

然后

sudo chown -R `id -u` /data/db
Run Code Online (Sandbox Code Playgroud)

-R使命令递归; 我以前曾尝试过两个sudo chmod 777 /data/dbsudo chown `id -u` /data/db按照其他StackOverflow答案的指示,但他们失败了.

(PS我很抱歉,我知道这是一个非常古老的问题,但我在寻找问题的答案时找到了它;而且因为我设法解决了这个问题,我想我以后会把它放在这里给任何人.此外,我不确定这两个命令中哪一个有所不同,但它确实有效.)


Mar*_*erg 5

简单的开始吧

 mongod --dbpath ~/.mongodb/data --logpath ~/.mongodb/mongod.log --fork
Run Code Online (Sandbox Code Playgroud)

你做了之后

mkdir ~/.mongodb
Run Code Online (Sandbox Code Playgroud)

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

另一种选择是做一个

chown <your username here> -R /data/mongodb
Run Code Online (Sandbox Code Playgroud)

并使用默认路径运行mongod.

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

免责声明:我创建了m202docker图像,因此我有偏见