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

MongoDB 7.0.5启动失败求助:MongoServerSelectionError及服务错误码48

解决MongoDB 7.0.5启动失败(Socket权限/服务错误码48)问题

核心问题定位

从日志SocketException: setup bind :: caused by :: An attempt was made to access a socket in a way forbidden by its access permissions可以确定:MongoDB无法绑定27017端口,根源是权限不足或端口被占用;server/7.0/data为空是因为服务从未正常启动,未生成数据库文件。


步骤1:检查端口27017是否被占用

  • 以管理员身份打开命令提示符,执行:
    netstat -ano | findstr :27017
    
  • 如果返回结果,记下对应的PID,打开任务管理器找到该PID对应的进程并结束(可能是旧MongoDB残留进程、其他数据库软件或占用端口的程序)。

步骤2:修复目录与服务权限

  1. 目录权限设置:
    • 找到MongoDB安装根目录(如C:\Program Files\MongoDB\Server\7.0)及data目录,右键→属性→安全
    • 添加账户NT AUTHORITY\LocalService,赋予其完全控制权限,应用到所有子文件和文件夹。
  2. 服务账户配置:
    • Win+R输入services.msc打开服务管理器,找到MongoDB Server服务,右键→属性→登录
    • 选择本地系统账户,勾选“允许服务与桌面交互”,保存后尝试重启服务。

步骤3:手动启动mongod验证

  • 管理员命令提示符进入MongoDB的bin目录:
    cd C:\Program Files\MongoDB\Server\7.0\bin
    
  • 执行手动启动命令(指定data目录):
    mongod --dbpath "C:\Program Files\MongoDB\Server\7.0\data"
    
  • 如果看到waiting for connections on port 27017的日志,说明启动成功,此时打开新的命令提示符运行mongosh测试连接。

步骤4:重新注册MongoDB服务(若配置损坏)

  • 删除现有服务:
    sc delete MongoDB
    
  • 重新注册服务(指定数据目录和日志目录):
    mongod --dbpath "C:\Program Files\MongoDB\Server\7.0\data" --logpath "C:\Program Files\MongoDB\Server\7.0\log\mongod.log" --install --serviceName "MongoDB"
    
  • 启动服务:
    net start MongoDB
    

额外排查:安全软件拦截

暂时关闭Windows防火墙和第三方杀毒软件,尝试启动MongoDB服务。若能正常运行,在防火墙中添加mongod.exe和mongosh.exe的允许规则。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 21:54:55