2019-05-21T14:25:54.799 + 0300我控制了[initandlisten]选项:{} 2019-05-21T14:25:54.800 + 0300我在initAndListen中存储了[initandlisten]异常:NonExistentPath:找不到数据目录/ data / db。 2019-05-21T14:25:54.800 + 0300 I NETWORK [initandlisten]关机:要关闭监听套接字... 2019-05-21T14:25:54.800 + 0300 I NETWORK [initandlisten]删除套接字文件:/tmp/mongodb-27017.sock 2019-05-21T14:25:54.800 + 0300 I CONTROL [initandlisten]现在退出 2019-05-21T14:25:54.800 + 0300 I CONTROL [initandlisten]关闭,代码为100 我如何找出未找到的数据目录/ data / db。,终止?
答案 0 :(得分:9)
问题在于,默认情况下,Mongo指向该/ data / db文件夹,并且它会忘记创建或在安装时设置其所有权。
sudo mkdir -p /data/db/
然后,我们将文件夹的所有权设置为将要启动mongod服务的用户。由于我仅将if用于计算机的本地开发,因此我将自己设置为所有者:
sudo chown `id -u` /data/db
现在,只需运行 mongod 就可以了。希望对您有帮助!
答案 1 :(得分:1)
几天前,我遇到了同样的问题。我正在使用Mac OS。显然,将数据目录放在主文件夹的根目录中存在权限问题。所以我所做的是我只是在绝对具有权限的位置的文件夹中创建了一个目录,然后使用--dbpath选项设置为该位置的方式运行mongo db。例如:
mongod --dbpath ~/documents/data/db
希望这会有所帮助:D