MongoServerError: Authentication failed.
时间: 2024-01-06 18:23:30 浏览: 189
出现"MongoServerError: Authentication failed"错误通常是由于身份验证失败导致的。解决此问题的步骤如下:
1. 确认用户名和密码是否正确。可以使用以下命令在Mongo shell中验证用户名和密码是否正确:
```shell
use admin
db.auth("username", "password")
```
如果验证失败,请重置密码并重试。
2. 确认是否启用了身份验证。可以使用以下命令在Mongo shell中检查身份验证状态:
```shell
db.getMongo().getDBNames()
```
如果返回的结果中不包含“admin”数据库,则身份验证未启用。可以使用以下命令启用身份验证:
```shell
use admin
db.createUser(
{
user: "username",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
```
3. 确认是否使用了正确的身份验证机制。如果使用了SCRAM-SHA-256身份验证机制,则需要MongoDB 4.0或更高版本。如果使用了MONGODB-CR身份验证机制,则需要MongoDB 4.0或更低版本。可以使用以下命令检查身份验证机制:
```shell
use admin
db.runCommand({connectionStatus : 1})
```
如果返回的结果中包含“authMechanism”字段,则表示已启用身份验证机制。
如果上述步骤都无法解决问题,请检查网络连接和防火墙设置,确保可以连接到MongoDB服务器。
阅读全文