在一次使用MongoDB中,发现了MongoDB Compass-1.15.4采用用户和密码认证方式登录报没有用户被认证错误。但是在mongo-shell中,采用用户和密码认证登录却又可以正常登录。这到底是为什么?首先先让问题重现一下:
事先开启MongoDB的用户认证功能,并添加了以下用户和分配权限。
> use admin
> db.createUser({
user: “tds-user”,
pwd: “qweasd”,
roles: [{ role: “userAdminAnyDatabase”, db: “admin” },” readWriteAnyDatabase”]
})
> use admin
> db.auth(“tds-user”,”qweasd”)
> use dataprep
> db.createUser({
user: “dataprep-user”,
pwd: “qweasd”,
roles: [{ role: “readWrite”, db: ”dataprep”}]
})

在mongo-shell中,采用用户和密码可以正常登录MongoDB并访问相应的库。但是在MongoDB Compass-1.15.4中,却出现以下错误:An error occurred while loading navigation: there are no users authenticated


经与Compass开发人员沟通,是由于dataprep-user用户不具有admin库的权限。但是,在MongoDB Compass最新的版本1.16.0中Compass开发团队已经删除了这个要求。所以,在接下来将MongoDB Compass-1.15.4更新成MongoDB Compass-1.16.0改问题就解决了!以下是MongoDB Compass人员Brian回复的内容:




加入技术讨论群
《大数据和云计算技术》社区群人数已经3000+,欢迎大家加下面助手微信,拉大家进群,自由交流。

喜欢QQ群的,可以扫描下面二维码:

欢迎大家通过二维码打赏支持技术社区(英雄请留名,社区感谢您,打赏次数超过108+):





