【DDS】Linux实例使用Mongo Shell登录MongoDB数据库提示“Authentication failed”错误

网友投稿 1118 2022-05-29

问题现象

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

【DDS】Linux实例使用Mongo Shell登录MongoDB数据库提示“Authentication failed”错误

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)。

数据库 网络

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Hexo】笔记02:创建blog
下一篇:【 MATLAB 】信号处理工具箱之波形产生函数 rectpuls
相关文章