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

执行MongoDB的show dbs命令提示unauthorized问题求助

解决MongoDB执行show dbs提示unauthorized的问题

问题原因

新版MongoDB Community Server默认启用了身份认证,未登录认证的情况下没有权限查看所有数据库,而部分旧教程可能基于未开启认证的环境制作,所以直接执行show dbs能看到结果。

解决步骤

  1. 停止MongoDB服务
    打开管理员权限的CMD,执行:

    net stop MongoDB
    

    (如果服务名不是MongoDB,可以通过services.msc查看你的MongoDB服务名称)

  2. 临时以无授权模式启动mongod
    执行命令(替换为你的实际数据库存储路径,默认路径一般是C:\Program Files\MongoDB\Server\你的版本号\data):

    mongod --dbpath "你的数据库路径" --noauth
    

    保持这个窗口开启,不要关闭。

  3. 创建管理员账号
    重新打开一个CMD窗口,输入mongosh进入Shell,依次执行以下命令:

    // 切换到admin数据库
    use admin
    // 创建拥有最高权限的管理员账号
    db.createUser({
      user: "admin", // 自定义用户名
      pwd: "你的安全密码", // 自定义密码
      roles: [{ role: "root", db: "admin" }]
    })
    

    执行成功会返回{ ok: 1 }的提示。

  4. 重启MongoDB服务
    关闭刚才运行mongod --noauth的窗口,回到管理员CMD执行:

    net start MongoDB
    
  5. 登录认证并验证

    • 方式一:登录时直接携带认证信息
      mongosh --username admin --password 你的密码 --authenticationDatabase admin
      
    • 方式二:进入Shell后再认证
      use admin
      db.auth("admin", "你的密码")
      

    认证成功后执行show dbs,就能正常看到admin等数据库列表了。

内容的提问来源于stack exchange,提问作者MR.Learner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:45:57