20

我有生产环境,我的 mongoDB 已启动并正在运行,DBA 要求我们更改用于身份验证的密码。一种方法是使用新密码再次运行 addUser 命令,如 更改密码中所述

> db.auth("app_user", "somepassword")
db.addUser("app_user", "new password")

这与添加新用户一样好。

我知道一旦我添加了一个新用户,我必须使用 --auth 选项重新启动 mongod,由于这是一个生产环境,我无法重新启动我的服务器。还有其他选择吗?或者如果我的方法错误,如何更改 mongoDB 中的密码

4

5 回答 5

24

对于 v2.4

db.changeUserPassword("app_user", "new password")

https://groups.google.com/d/msg/mongodb-user/KkXbDCsCfOs/rk2_h-oSbAwJ https://jira.mongodb.org/browse/DOCS-1515

于 2013-05-17T18:07:15.863 回答
21

MongoDB > 3.X

db.updateUser("root", {pwd: "NewRootAdmin" }) 

参考:https ://docs.mongodb.com/manual/reference/method/db.updateUser/

于 2016-12-22T15:46:40.580 回答
1

您链接到一个关于向 MongoDB 添加身份验证的问题,该问题涉及使用选项 --auth 启动“mongod”。由于您已经在使用 --auth 运行,因此在您的场景中不需要重新启动。

只需更改用户密码,您就可以开始使用了。

于 2013-04-30T15:16:01.723 回答
1

从 Mongodb 4.0 开始,更新用户密码时必须使用db.updateUser(), 将passwordDigestorkey 设置为“server”:

于 2019-05-23T02:34:49.697 回答
1

如果您有旧密码并且想要更改密码,请使用 usermongo --username <USERNAME>然后使用db.changeUserPassword("<USERNAME>", passwordPrompt()).

于 2021-06-29T12:24:45.403 回答