#推荐
Navicat数据库软件无法连接mongodb遭遇not

2026-02-03 0 1,315

你这个报错的本质是:Navicat 连接上了 MongoDB,但当前登录用户没有权限在 admin 库执行 listDatabases(Navicat 会自动去拉取库列表,所以一上来就触发了这个命令),于是弹:

[13] Unauthorized not authorized on admin to execute command { listDatabases: 1, nameOnly: true }

Navicat数据库软件无法连接mongodb遭遇not

一、最常见原因:你没填账号或填的账号权限不够

1)用 root / readAnyDatabase 权限的账号连接

MongoDB 想列出所有库(listDatabases),至少要有这些之一:

  • root(最省事)
  • readAnyDatabase(只读也能列库)
  • clusterMonitor + 相关库权限(不建议你折腾这个)

建议直接建一个 root 管理账号,然后 Navicat 用它连。


二、创建管理员账号(MongoDB 3.4 适用)

前提:你要能在服务器上进 mongo 命令行(SSH / 远程桌面都行)

情况 A:你现在 MongoDB 还没开鉴权(authorization 关闭)

直接执行:

mongo --port 27018
use admin
db.createUser({
  user: "admin",
  pwd: "你的强密码",
  roles: [ { role: "root", db: "admin" } ]
})

然后 Navicat 里填写:

  • 用户名:admin
  • 密码:你的强密码
  • Authentication Database(认证库 / authSource)选:admin(非常关键)

情况 B:你已经开了鉴权,但目前没可用管理员账号(常见于装完就改配置)

你需要临时关闭鉴权或用本地免密方式启动一次来补账号。

方式 1:临时注释授权(推荐)

编辑 mongod.conf(不同系统路径不同,常见:/etc/mongod.conf/etc/mongod/mongod.conf):

把这段改掉(或注释):

security:
  authorization: enabled

重启 MongoDB 后,按“情况 A”创建用户;创建完再把 authorization 改回 enabled 再重启。


三、Navicat 连接时最容易漏的点:authSource(认证库)必须对

你的用户如果是建在 admin 库(99% 都是),Navicat 必须设置:

  • 认证数据库(Authentication Database / authSource)= admin

否则你即使账号密码对,也可能出现各种 not authorized / auth failed。


四、你只想看某个库,不想让 Navicat 去 “列出全部库”(绕开 listDatabases)

如果你手里账号只有某个业务库权限(没有 listDatabases 权限),那就两条路:

路线 1:给该用户补一个 readAnyDatabase

admin 库给它加:

use admin
db.grantRolesToUser("你的用户名", [ { role: "readAnyDatabase", db: "admin" } ])

路线 2:Navicat 里关闭“显示全部数据库 / 获取库列表”的行为

不同 Navicat 版本入口不完全一样,但核心是:

  • 不要让它连上就枚举所有库
  • 或在连接属性里指定默认数据库为你的业务库

(如果你告诉我 Navicat 版本号/连接配置页截图,我可以精确指出勾选项在哪。)


五、顺手排查:你到底是“没账号”还是“权限不足”?

在服务器上用你当前账号测试一下:

mongo --port 27018 -u 用户名 -p 密码 --authenticationDatabase admin

进去后执行:

db.runCommand({ connectionStatus: 1 })
db.runCommand({ listDatabases: 1, nameOnly: true })
  • 如果 connectionStatusauthenticatedUsers 为空:说明没认证成功(多半 authSource 填错)
  • 如果认证成功但 listDatabases 报 13:说明就是权限不足(按上面给 roles)

更加具体解决方式:

付费解锁
当前隐藏内容需要支付66.00 金币才能查看
VIP折扣
    折扣详情
  • 年费会员

    58.08金币8.8折

  • 终身会员

    38.28金币5.8折

已有3人购买查看此内容

收藏 打赏

感谢您的支持,我会继续努力的!

打开USDT(trc-20)扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

Ts:本站所有内容均为互联网收集整理和网友上传。仅限于学习研究,请必须在24小时内删除。否则由此引发的法律纠纷及连带责任本站概不承担。

如侵犯到您的合法权益,请联系我们删除侵权资源!

韩仔技术 自学开发 Navicat数据库软件无法连接mongodb遭遇not https://www.hanzijs.com/zixue/8248.html

发表评论
暂无评论