如何在 Mongodb 中重置 root 密码?

ful*_*inu 12 mongodb

我有一个 mongodb 分片集群,其中包含 mongos 机器、复制集中的 mongo 节点和配置服务器。MongoDB版本是3.02

设置这个的人不久前离开了公司,现在我不能做简单的事情,比如显示数据库显示集合

我在所有这些 Debian 机器上都有操作系统 root,所以我想知道如何重置 mongo 的 root 密码,以便我可以管理数据库。

使用具有低权限的用户访问该数据库的应用程序似乎工作正常。我知道这个特定用户的密码。

这是一个制作设置,所以我不能将其关闭超过几秒钟,最多几分钟。

小智 11

这取决于用户的类型。例如,如果您使用SCRAM,重置密码的基本步骤是:

  • 停止 mongod 节点
  • 在 mongod.conf 中禁用授权
  • 重启副本集节点
  • 使用 mongo shell 连接到副本集主节点
  • 通过db.changePassword重置您的密码


rod*_*oap 7

我认为这可能有效:

  1. 停止您的 MongoDB 实例
  2. 从 MongoDB 配置中删除 --auth 和/或 --keyfile 选项以禁用身份验证
  3. 无需认证即可启动实例
  4. 根据需要编辑用户
  5. 在启用身份验证的情况下重新启动实例

https://dba.stackexchange.com/questions/62976/how-can-i-enter-mongo-as-a-superuser-or-reset-users