You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Mac OS 11运行mongod出现Address already in use报错问题

问题核心判断

从报错日志中的errmsg":"Address already in use"和最终退出码48可以确定,MongoDB默认使用的27017端口已经被其他进程占用。你通过Homebrew安装mongodb-community后,Homebrew默认会将MongoDB注册为开机自启的后台服务,所以即使你没有手动启动,服务已经在后台运行,此时再执行mongod命令就会触发端口占用报错。

解决方法

方案1:使用Homebrew管理MongoDB服务(推荐)

Homebrew的服务管理机制已经帮你处理了权限、数据目录、日志等配置,不需要手动调整参数,适合初学者使用:

  • 执行命令查看MongoDB服务状态:brew services list
    • 如果输出中mongodb-community的状态为started,说明服务已经正常运行,直接执行mongosh命令即可连接数据库,不需要额外启动操作
    • 如果状态为stopped,执行命令启动服务:brew services start mongodb-community,启动完成后再执行mongosh即可连接

方案2:手动运行mongod命令启动

如果你需要手动启动MongoDB进程,先将占用27017端口的进程终止即可:

  • 执行命令查询占用27017端口的进程PID:lsof -i :27017,返回结果中PID列的数字就是对应进程的ID
  • 执行命令终止该进程:kill -9 <你查到的PID>,例如查询到PID为1200就执行kill -9 1200
  • 进程终止后再次执行mongod命令即可正常启动

注意:Mac OS 11系统默认没有/data/db目录,手动执行mongod时可能会后续触发数据目录不存在的报错,你可以提前在个人目录下创建数据目录,启动时指定路径即可,例如:

  1. 创建目录:mkdir -p ~/mongodb/data
  2. 启动时指定路径:mongod --dbpath ~/mongodb/data

内容的提问来源于stack exchange,提问作者Anton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:00:01