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_USERNAME
和 MONGO_INITDB_ROOT_PASSWORD
这两个环境变量,来设置管理员的新用户名和新密码。
使用新密码登录
容器重新启动后,我们可以使用新的用户名和密码登录:
$ docker exec -it mongo-container mongo -u admin -p newpassword --authenticationDatabase admin
成功登录
如果所有步骤都正确执行,你应该能够成功登录 MongoDB 数据库。此时,你可以继续使用数据库进行后续操作。
在本文中,我们演示了如何通过重置密码的方式解决忘记管理员密码的问题。首先,我们尝试使用默认密码登录,如果失败则进行密码重置。重置密码需要先停止容器,然后以特权模式重新启动容器并设置新的密码。最后,我们可以使用新密码成功登录 MongoDB 数据库。
总结:在使用 Docker 部署 MongoDB 时,如果忘记了管理员密码,可以通过重置密码的方式解决。本文介绍了如何尝试使用默认密码登录,如果失败则进行密码重置,并最终成功登录数据库。