在使用 Navcat 连接 MongoDB 的时候报错了:

[13][Unauthorized] command listDatabases requires authentication

在这里插入图片描述
但是在测试连接的时候明明是可以的,但是为什么命令行可以连接,但是图形化界面却连接不了了呢?
在这里插入图片描述
Google 后发现原来是需要给 MongoDB 一个验证,需要创建一个用户名和密码。

MacBook:bin zhangyi$ ./mongo
MongoDB shell version v4.4.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("28cd3d0c-b45d-47c6-aded-d0d19ee31a35") }
MongoDB server version: 4.4.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
	https://community.mongodb.com
> use admin
switched to db admin
> db.createUser({user:"root",pwd:"***",roles:[{role:"root",db:"admin"}]});
uncaught exception: Error: couldn't add user: command createUser requires authentication :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.createUser@src/mongo/shell/db.js:1386:11
@(shell):1:1

通过 use admindb.createUser 来创建一个用户和密码,然后在进行连接就连接成功了。
在这里插入图片描述

python 连接数据库报错command listDatabases requires authentication, full error: {'ok': 0.0, 'errmsg': 'command listDatabases requires authentication', 'code': 13, 'codeName': 'Unauthorized'} 今天想重新创建一个带有密码的数据库,之前用的时候创建过,所以这次直接进powershell操作时,发现需要验证: command listDatabases requires authentication 那么验证就可以啦,不过要有之前创建时候的用户名和密码,我当时admin啥都是root, 所以直接切换到admin验证就行了 use admin db.auth(“root”, “root”) 返回1就验证成功了 MongoDB采用了BSON(Binary JSON)格式来存储数据,BSON是一种二进制表示的JSON格式,比JSON更具有效率,支持更多的数据类型,并且可以更容易地与多个编程语言进行交互。:MongoDB采用基于内存的存储和高效的索引,因此可以提供高性能的查询和数据插入。总之,MongoDB是一种非常强大的数据库管理系统,为开发人员提供了一种高性能,高度可扩展和易于使用的数据库解决方案。:MongoDB使用一种强大的查询语言,可以轻松查询文档中的数据,并支持多种查询方式,如范围查询、正则表达式等。 navicat 连接 mongodb 报错[13][Unauthorized] command listDatabases requires authentication [js] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "command listDatabases requires authentication", "code" : 13, "codeN... navcat连接mongodb报错[13][Unauthorized] command listDatabases requires authenticationnavcat连接mongodb报错 navcat连接mongodb的配置: 原因分析: 应该加一个验证 解决方案: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201106165906389.png?x-oss-process=image/watermark,type_ZmF 阿里云的服务器里面,进入MongoDB后,新建了一个数据库,为这个数据库创建用户时,报错:Error: command createUser requires authenticationMongoDB新建了一个数据库,添加用户时报错。切换到需要创建用户的数据库。 很幸运,又一次遇到了这个错误,之前手快没有截图,目前我遇到这个状况分别在两台机器上,第一次是因为我在MongoDB客户端修改了账户和密码,但是Navicat没有做出相应修改,已经成功解决,另一次是因为我在新店毛上创建修改权限但是在Navicat中没有做相应的更改,还是默认登录模式 修改方式如下 选中数据库,右键,编辑链接 将这里改成账号密码认证模式 输入正确的加密数据库名字,以及密码