M1 Mac执行brew services start mongodb-community启动失败怎么办?
M1芯片Mac下MongoDB社区版启动报错(exit code 5)排查修复方案
第一步:清理异常残留启动项
- 停止现有异常的MongoDB服务:
brew services stop mongodb-community - 删除损坏的plist启动配置文件:
rm ~/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist - 卸载当前安装的MongoDB包:
brew uninstall mongodb/brew/mongodb-community
第二步:校验M1专属Homebrew环境配置
M1芯片Mac的Homebrew默认路径为/opt/homebrew,需确认环境变量配置正确:
- 执行
echo $PATH确认输出包含/opt/homebrew/bin、/opt/homebrew/sbin - 若未配置,执行对应shell的配置写入:
- 若使用zsh:
echo 'export PATH=/opt/homebrew/bin:/opt/homebrew/sbin:$PATH' >> ~/.zshrc && source ~/.zshrc - 若使用bash:
echo 'export PATH=/opt/homebrew/bin:/opt/homebrew/sbin:$PATH' >> ~/.bash_profile && source ~/.bash_profile
- 若使用zsh:
- 执行
brew doctor确认无环境错误,按提示完成修复即可。
第三步:重新安装并修复目录权限
M1芯片下MongoDB数据、日志目录权限错误是该报错的高发原因
- 重新安装MongoDB社区版:
brew install mongodb/brew/mongodb-community - 执行目录权限修复:
sudo chown -R $(whoami) /opt/homebrew/var/mongodb sudo chown -R $(whoami) /opt/homebrew/var/log/mongodb - 确认
/opt/homebrew/etc/mongod.conf配置文件中的数据、日志路径与上述目录一致,无拼写错误。
第四步:启动校验
- 先以前台模式启动MongoDB排查明确报错:
mongod --config /opt/homebrew/etc/mongod.conf- 若前台启动无报错,终止进程后再用brew服务启动:
brew services start mongodb-community - 若前台启动报错,针对性修复:
- 提示端口被占用:执行
lsof -i :27017查看占用进程,kill对应进程后重试 - 提示数据文件损坏:删除数据目录下的
mongod.lock文件后重试,仍报错可执行mongod --repair修复数据
- 提示端口被占用:执行
- 若前台启动无报错,终止进程后再用brew服务启动:
第五步:临时替代方案
若上述步骤均无效,可跳过brew服务管理,直接将启动命令写入系统登录项,即可实现开机自启,无需依赖launchctl加载plist文件。
内容的提问来源于stack exchange,提问作者Lakshya Dhariwal
相关产品推荐
相关产品推荐

