Mongo Docker 忘记密码

![journey](

在使用 Docker 部署 MongoDB 数据库时,如果忘记了管理员密码,可能会导致无法登录数据库。本文将介绍如何通过重置密码的方式解决这个问题。

尝试使用默认密码登录

MongoDB 默认用户名为 "admin",默认密码为空。可以尝试使用该默认密码登录:

$ docker exec -it mongo-container mongo admin
> db.auth("admin", "")

如果成功登录,则可以修改密码;如果登录失败,则需要进行密码重置。

重置密码

为了重置密码,我们需要停止 MongoDB 容器,并以特权模式重新启动容器。

首先,停止 MongoDB 容器:

$ docker stop mongo-container

然后,以特权模式重新启动容器,并指定一个自定义的环境变量,用于设置管理员的新密码:

$ docker run --rm --name mongo-container -d \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=newpassword \
mongo

在上述代码中,我们使用 -e 参数指定了 MONGO_INITDB_ROOT_USERNAMEMONGO_INITDB_ROOT_PASSWORD 这两个环境变量,来设置管理员的新用户名和新密码。

使用新密码登录

容器重新启动后,我们可以使用新的用户名和密码登录:

$ docker exec -it mongo-container mongo -u admin -p newpassword --authenticationDatabase admin

成功登录

如果所有步骤都正确执行,你应该能够成功登录 MongoDB 数据库。此时,你可以继续使用数据库进行后续操作。

在本文中,我们演示了如何通过重置密码的方式解决忘记管理员密码的问题。首先,我们尝试使用默认密码登录,如果失败则进行密码重置。重置密码需要先停止容器,然后以特权模式重新启动容器并设置新的密码。最后,我们可以使用新密码成功登录 MongoDB 数据库。

总结:在使用 Docker 部署 MongoDB 时,如果忘记了管理员密码,可以通过重置密码的方式解决。本文介绍了如何尝试使用默认密码登录,如果失败则进行密码重置,并最终成功登录数据库。