【MongoDB】无法启动MongoDB(无法删除套接字文件,“attr”:{“path”:“/tmp/mongodb-27017.sock”,“error”:“权限被拒绝”})
我想要用Node.js创建API服务器,所以我决定首次尝试使用MongoDB。
在进行MongoDB的环境配置过程中,发生了错误,因此我将总结错误内容和解决方法。
环境
macOS Catalina版本10.15.7
以下是对“背景”的中文本地化改写:
背景情况
或者
背景信息
我在MacOS上按照以下步骤来构建MongoDB。
$ brew tap mongodb/brew
$ brew install mongodb-community@5.0
$ brew services start mongodb-community@5.0
==> Successfully started `mongodb-community` (label: homebrew.mxcl.mongodb-community)
“虽然说是「成功」,但是当我尝试使用命令「$ brew services list」进行确认时,结果却是……”
Name Status User Plist
mongodb-community error user /usr/local/opt/mongodb-community/homebrew.mxcl.mongodb-community.plist
mongodb-community@4.0 stopped
状态已经变为错误了。
在这个状态下执行 $mongo 也不起作用。
我会查看失败原因的日志。
$ cat /usr/local/var/log/mongodb/mongo.log
出现了以下类似的日志。
{"t":{"$date":"2021-09-19T20:06:46.181+09:00"},"s":"E", "c":"NETWORK", "id":23024, "ctx":"initandlisten","msg":"Failed to unlink socket file","attr":{"path":"/tmp/mongodb-27017.sock","error":"Permission denied"}}
好像/tmp/mongodb-27017.sock的权限出了问题,导致某些错误发生了。
请提供更具体的上下文,以便我能够正确地为您翻译”解決策”。
删除 /tmp/mongodb-27017.sock 后问题解决。
$ sudo rm /tmp/mongodb-27017.sock
听起来这个现象似乎只会在macOS的Catalina版本中发生。
参考:苹果操作系统Catalina中的安装问题- 运维与管理 – MongoDB开发者社区论坛。
由于`brew services list`显示存在多个`mongodb-community`,因此我卸载了所有的MongoDB Community,并重新安装了`mongodb-community@5.0`。