「mongoDB」- 忘记密码(Docker) @20210304

内容简介

本文介绍如何重置mongoDB的密码,这个mongoDB还是在Docker中启动的。

问题概述

开发在测试环境启动了一个mongoDB服务,该mongoDB是以Docker容器启动的。现在,他忘记了admin帐号的密码,来找我重置。

系统信息

  
mongoDBmongo:3.4.10
Container Entrypointdocker-entrypoint.sh
Container Cmd--smallfiles --rest --auth
Container NAMEmongodb-single

解决办法

#!/bin/sh

#1 停止原有容器
docker container stop mongodb-single

#2 启动新容器,将原由容器的卷挂载到新容器中。使用--noauth选项关闭认证
docker run -it --name mongo-repair --rm --volumes-from mongodb-single mongo:3.4.10 --smallfiles --rest --noauth

#3 进入新容器,并直接连接,直接重置密码
docker exec -it mongo-repair mongo --port 27017
> db.changeUserPassword("admin", "new-pwd")

#4 停止新容器
docker container stop mongo-repair

#5 启动原有容器
docker container start mongodb-single

#6 验证是否成功
mongo -u admin -p 'new-pwd' 10.10.21.36:27017/admin <<<'db.runCommand({connectionStatus: 1})'

参考文献

How to Name or Rename Docker Containers
MongoDB Show Current User
Docker: Mount directory from one container to another
Modify The Default MongoDB Root Password
MongoDB what are the default user and password?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值