【DDS】Linux实例使用Mongo Shell登录MongoDB数据库提示“Authentication failed”错误
问题现象
Linux实例使用Mongo Shell登录MongoDB数据库,提示以下错误:
MongoDB shell version: 3.2.3
connecting to: 10.X.X.8:3717/test
2016-05-31T15:50:18.623+0800 E QUERY Error: 18 Authentication failed.
at DB._authOrThrow (src/mongo/shell/db.js:1271:32)
at (auth):6:8
at (auth):7:2 at src/mongo/shell/db.js:1271
exception: login failed
问题分析
鉴权失败可能是以下原因所导致:
1、登录数据库的用户名或密码错误;
2、连接地址不正确、网络不畅通、安全组未放通等导致数据库网络无法连接;
3、MongoDB的帐号和鉴权数据库不匹配;
4、Linux实例内Mongo Shell客户端版本过低。
解决方案
针对以上原因,解决方案为:
1、检查用户名和密码,确保使用正确的数据库用户名和密码登录。如果忘记密码,可以在MongoDB管理控制台中重置root用户的数据库密码。
2、请检查连接地址的正确性、网络畅通情况、安全组是否放通后再进行重试,文档数据库服务安全组修改参考链接:https://support.huaweicloud.com/usermanual-dds/dds_03_change_security_group.html
3、MongoDB的帐号和数据库关联,鉴权时需要指定帐号所属的数据库信息。例如,test帐号属于admin数据库,使用test连接时,必须指定鉴权数据库为admin,可执行以下任意命令登录:
mongo --host [$Mongodb_Host] --port [$Port] -u test -p test --[$Database] admin
mongo --host [$Mongodb_Host] --port [$Port]
use admin
db.auth("test", "test")
说明:
[$Mongodb_Host]:MongoDB数据库的服务器地址。
[$Port]:数据库服务的端口号,默认为8635。
[$Database]:鉴权数据库名,即数据库账号所属的数据库。
4、Mongo Shell版本必须3.0及以上的版本,安装步骤请参见官方文档:https://docs.mongodb.com/v3.4/installation/?spm=a2c4g.11186623.2.8.656e5d91AevVV8
建议
1、客户端连接时,如果不使用SSL方式连接,建议关闭SSL;
2、客户端连接时,建议连接类型为直接连接(Direct Connection)。
- 点赞
- 收藏
- 关注作者
评论(0)