从Helm安装后无法使用root密码登录mongo

问题描述

我使用头盔在kubernetes上安装了mongodb:

helm install mongo bitnami/mongodb

现在我正尝试使用通过此命令获得的root密码进行连接

# kubectl get secret --namespace default mongo-mongodb -o jsonpath="{.data.mongodb-root-pa
ssword}" | base64 --decode
AXMCSkdNm6

使用root密码和root用户登录,我无法登录。我收到“身份验证失败”错误。在我的mongodb桌面客户端中尝试,也在mongo pod内部尝试:

$ mongo admin --username root --password AXMCSkdNm6
MongoDB shell version v4.4.1
connecting to: mongodb://127.0.0.1:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Error: Authentication failed. :
connect@src/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1

我在做什么错了?

更新

我设法总是在全新安装的k8s / helm上重现它:

  1. 第一次安装mongo-身份验证完美
  2. 通过helm delete mongo
  3. 删除mongo
  4. 立即安装mongo-身份验证失败

解决方法

使用以下命令。请注意--authenticationDatabase admin部分

mongo admin --host "mongo-mongodb" --authenticationDatabase admin -u root -p AXMCSkdNm6

authenticationDatabase指定已创建指定的--username的身份验证数据库

,

好的,很长一段时间后我发现了问题...

我删除发行版并创建新发行版后,MongoDB身份验证停止工作。原因是我在两个版本中都使用了相同的持久性存储。因此,当我删除第一个发行版时,数据并没有删除,而当我开始新发行版时,由于使用了先前发行版中的旧数据而感到困惑。

当我在删除发行版时删除永久性存储中的所有数据时,一切正常。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...