Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 我不想用sudo mongod开始mongod`_Macos_Mongodb - Fatal编程技术网

Macos 我不想用sudo mongod开始mongod`

Macos 我不想用sudo mongod开始mongod`,macos,mongodb,Macos,Mongodb,我刚刚用OS X 10.9.5通过brew安装mongodb将mongodb下载到我的全新MacBookAir上 我试图从终端运行mongod,它说“no/data/db”,所以我用sudo mkdir/data和sudo mkdir/data/db创建了它 现在运行mongod时,我得到“无法创建/打开锁文件:/data/db/mongod.lock errno:13权限被拒绝”,但我可以使用sudo mongod运行它 我如何才能做到不必用sudo运行mongod,而只需简单地mongod

我刚刚用OS X 10.9.5通过
brew安装mongodb
将mongodb下载到我的全新MacBookAir上

我试图从终端运行
mongod
,它说“no/data/db”,所以我用
sudo mkdir/data
sudo mkdir/data/db
创建了它

现在运行mongod时,我得到“无法创建/打开锁文件:/data/db/mongod.lock errno:13权限被拒绝”,但我可以使用
sudo mongod
运行它

我如何才能做到不必用sudo运行mongod,而只需简单地
mongod

(我上一台电脑就是这样,但根本不记得我做了什么,而且那台电脑还是一团糟。)

简单地开始吧

 mongod --dbpath ~/.mongodb/data --logpath ~/.mongodb/mongod.log --fork
在你做了一个

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

另一个选择是做一个测试

chown <your username here> -R /data/mongodb
chown-R/data/mongodb
并使用默认路径运行mongod

作为直接在OSX下运行MongoDB的替代方案,您可能希望了解一下,它允许您在(精简)虚拟化环境中运行MongoDB。MongoDB还有其他Docker图像

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

这对我很有用:

sudo chmod -R 777 /data/db
然后

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

(PS我很抱歉,我知道这是一个非常古老的问题,但我在试图寻找问题答案时发现了它;既然我成功地解决了它,我想我会把它放在这里,供将来的任何人使用。此外,我不确定这两个命令中的哪一个产生了差异,但它起了作用。)

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