我刚刚通过brew install mongodb
将mongodb下载到我的白兰地新MacBookAir OS X 10.9.5上。
我尝试从终端运行mongod
并且它说“no / data / db”所以我使用sudo mkdir /data
和sudo mkdir /data/db
创建了它。
现在运行mongod我得到“无法创建/打开锁定文件:/data/db/mongod.lock错误:13权限被拒绝”但我可以使用sudo mongod
完全正常运行它。
我怎样才能这样做,以便我不必使用sudo运行mongod,而只需简单mongod
?
(我在上一台电脑上就是这样,但是根本不记得我做了什么,而且计算机都搞砸了。)
答案 0 :(得分:15)
这对我有用:
sudo chmod -R 777 /data/db
然后
sudo chown -R `id -u` /data/db
-R
使命令递归;我之前按照其他StackOverflow答案的指示尝试了sudo chmod 777 /data/db
和sudo chown `id -u` /data/db
但是它们都失败了。
(PS我很抱歉,我知道这是一个非常古老的问题,但我在寻找问题的答案时发现了这个问题;因为我设法解决了这个问题,我想我会把它放在这里给任何人我不确定这两个命令中哪一个有所不同,但它确实有用。)
答案 1 :(得分:5)
使用
简单启动它 mongod --dbpath ~/.mongodb/data --logpath ~/.mongodb/mongod.log --fork
之后
mkdir ~/.mongodb
问题是为root创建了默认的dbpath /data/mongodb
。
另一个选择是做一个
chown <your username here> -R /data/mongodb
使用默认路径运行mongod。
作为在OSX下直接运行MongoDB的替代方法,您可能需要查看m202docker,它允许您在(瘦)虚拟化环境中运行MongoDB。 MongoDB还有其他Docker镜像。
免责声明:我创建了m202docker图片,因此我有偏见