连接报错:认证失败 本页介绍了 Authentication failed 连接报错的处理方法。 问题描述 使用客户端连接文档数据库服务实例时报错 "Authentication failed", 使用的连接命令如下: mongo "mongodb://root: @ , /admin?authSourceadmin&replicaSet " 报错信息如下: 20230719T11:23:54.055+0800 E QUERY [js] Error: Authentication failed. : DB.prototype.authOrThrow@src/mongo/shell/db.js:1685:20 @(auth):6:1 @(auth):1:2 exception: login failed 原因分析 报错 "Authentication failed" 说明客户端到文档数据库服务实例的网络访问没有问题。一般可能是如下问题: 密码错误。 用户名和密码不匹配。 密码中含有特殊字符。 处理方法 1. 确认输入的用户名和密码是否正确,然后使用正确的用户名和密码重试。 2. 如果忘记了密码,可以到文档数据库服务的管控控制台界面上进行密码重置。 3. 可以使用交互式验证方式来验证是否是特殊字符的问题。交互式验证方式的示例如下,特点是在 Connection URI 中不指定密码信息。 mongo "mongodb://root@ , /admin?authSourceadmin&replicaSet " 执行上述命令之后,会提示进一步输入密码信息。如果交互式验证能够成功,而将密码直接放在 Connection URI 中验证失败,则很有可能是密码中包含有特殊字符。 特殊字符的处理方法是在 Connection URI 中提携手动转义的密码,将 '%' 替换为 '%25', '@' 替换为 '%40','!' 替换为 ''%21. 也就是说将特殊字符替换为 '%' + 16进制ASCII 码的形式。