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

使用Docker部署MongoDB时MongoDB Compass持续提示认证失败

解决Docker部署MongoDB后Compass认证失败的问题

针对你遇到的问题,按以下步骤排查解决:

  • 确认Compass连接字符串的正确性
    必须指定认证数据库为admin,正确的连接字符串是:

    mongodb://root:root@localhost:27017/?authSource=admin
    

    因为通过MONGO_INITDB_ROOT_USERNAME创建的根用户默认存储在admin数据库中,不指定authSource的话,Compass会默认使用test数据库进行认证,自然会失败。

  • 检查容器内MongoDB的初始化日志
    执行命令查看容器日志,确认用户是否正常创建:

    docker logs mernstackdb
    

    日志中如果出现类似Successfully created user: { user: "root", roles: [ { role: "root", db: "admin" } ] }的内容,说明用户初始化没问题。

  • 直接进入容器验证用户登录
    执行命令进入容器内的MongoShell,测试用户是否能正常登录:

    docker exec -it mernstackdb mongosh -u root -p root --authenticationDatabase admin
    

    如果能成功进入Shell,说明用户配置没问题,问题出在Compass的连接设置上。

  • 检查Compass手动连接的配置项
    如果是手动填写连接信息,务必在「Authentication」选项卡中:

    • 认证方法选择「Username/Password」
    • 用户名填root,密码填root
    • 认证数据库必须填admin(这是最容易忽略的点)
    • 主机填localhost,端口填27017
  • 确认本地端口未被占用
    检查27017端口是否被其他服务占用:

    • Windows:netstat -ano | findstr :27017
    • Mac/Linux:lsof -i :27017
      如果有其他进程占用,停止该进程后重新启动MongoDB容器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 01:23:11