mongodb忘记密码的处理办法较MySQL等数据库而言方法显得更加暴力,处理方式如下:
mongodb的配置文件一般可以通过查看进程的方式查看文件名,例如:
ps -ef|grep mongod
然后修改配置文件,将其中的auth = true 用户验证的配置注释掉
如果部署了mongodb服务,可以直接重启服务
/* Centos6 系统 */ service mongod restart /* Centos7 系统 */ systemctl restart mongod
如果没有部署服务,则建议使用kill pid 的方式进行关闭,不建议直接kill -9 pid的暴力方式;关闭后再启动mongodb即可
/* 例如前面查出的进程号是2418 */ kill 2418 /* 启动mongodb */ /opt/mongodb/bin/mongod -f /opt/mongodb/data/mongodb.conf
此时这时候登录就不需要密码认证,可以进行修改密码的处理
/* 切换到 admin 用户下 */ use admin /* 查看当前的用户 */ db.system.users.find() /* 删除现有用户 */ db.system.users.remove({}) /* 创建新的超管账号 */ db.createUser({user:"admin",pwd:"Admin@123",roles:["root"]})
重置后再将配置文件还原,使用认证方式登录
再如第2步的方式重启mongodb即可
注: 在处理过程中建议先备份数据库,之后再进行操作。另外例子中是删除了所有用户,之后需要还原或者重建需要的用户。
原文:https://www.cnblogs.com/gjc592/p/12461044.html