mongodb忘记密码的处理办法较MySQL等数据库而言方法显得更加暴力,处理方式如下:
01
修改mongodb的配置文件
mongodb的配置文件一般可以通过查看进程的方式查看文件名,例如:
ps -ef|grep mongod
然后修改配置文件,将其中的auth = true 用户验证的配置注释掉
02
重启mongodb
如果部署了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
03
修改密码
此时这时候登录就不需要密码认证,可以进行修改密码的处理
/* 切换到 admin 用户下 */
use admin
/* 查看当前的用户 */
db.system.users.find()
/* 删除现有用户 */
db.system.users.remove({})
/* 创建新的超管账号 */
db.createUser({user:"admin",pwd:"Admin@123",roles:["root"]})
04
还原配置并重启mongodb
重置后再将配置文件还原,使用认证方式登录即可。
再如第2步的方式重启mongodb即可 注: 在处理过程中建议先备份数据库,之后再进行操作。另外例子中是删除了所有用户,之后需要还原或者重建需要的用户。