我忘记了我的mongodb root用户密码,我已经经历了同样的堆栈溢出问题,但由于不同的配置无法复制。下面是我的配置
lc8prwob1#
官方 的 做法 是 :未经 授权 重启 MongoDB , 即 mongod --noauth ... 或 通过 配置 文件 重启
mongod --noauth ...
security: authorization: disabled
中 的 每 一 个然后 , 您 可以 在 没有 密码 的 情况 下 登录 , 并 更改 root 用户 的 凭据 。
net: bindIp: localhost port: 55555 #replication: # replSetName: shardA #sharding: # clusterRole: shardsvr setParameter: skipShardingConfigurationChecks: true disableLogicalSessionCacheRefresh: true
格式然后 , 您 只能 使用 端口 55555 从 localhost 进行 连接 ( 其他 集群 成员 不 配置 该 端口 , 其他 用户 也 不 知道 该 端口 )您 只 需要 在 配置 服务 器 上 执行 此 操作 , 因为 用户 帐户 存储 在 那里 , 而 不是 存储 在 shard 或 mongos 成员 上 。但是 , 有 一 种 更 简单 的 方法 可以 实现 相同 的 目的 , 即 使用 密钥 文件 进行 身份 验证 :
mongosh --authenticationDatabase local -u __system -p "$(tr -d '\011-\015\040' < /path/to/keyfile)"
格式
1条答案
按热度按时间lc8prwob1#
官方 的 做法 是 :
未经 授权 重启 MongoDB , 即
mongod --noauth ...
或 通过 配置 文件 重启中 的 每 一 个
然后 , 您 可以 在 没有 密码 的 情况 下 登录 , 并 更改 root 用户 的 凭据 。
格式
然后 , 您 只能 使用 端口 55555 从 localhost 进行 连接 ( 其他 集群 成员 不 配置 该 端口 , 其他 用户 也 不 知道 该 端口 )
您 只 需要 在 配置 服务 器 上 执行 此 操作 , 因为 用户 帐户 存储 在 那里 , 而 不是 存储 在 shard 或 mongos 成员 上 。
但是 , 有 一 种 更 简单 的 方法 可以 实现 相同 的 目的 , 即 使用 密钥 文件 进行 身份 验证 :
格式