MongoDB 忘记密码

先查看MongoDB的启动模式

ps -ef | grep mongod

命令行参数启动

  • 如果查看到的mongod后面带-auth参数启动的
    如:root 9564 1 0 06:28 ? 00:00:15 mongod -auth --bind_ip 127.0.0.1 --port 27017 --dbpath /data/db --fork --logpath /data/log/mongodb.log
  • 停止服务kill 9564 进程ID
  • 去掉-auth参数重新启动
    如:mongod --bind_ip 127.0.0.1 --port 27017 --dbpath /data/db --fork --logpath /data/log/mongodb.log
  • 运行命令删除账户
    mongo                          # 运行客户端
    use admin                      # 切换到系统帐户表
    db.system.users.find()         # 查看当前帐户(密码有加密过)
    db.system.users.remove({})     # 删除所有帐户
    db.addUser('admin','password') # 添加新帐户
  • 恢复-auth参数运行
    如:mongod -auth --bind_ip 127.0.0.1 --port 27017 --dbpath /data/db --fork --logpath /data/log/mongodb.log

    配置文件运行

  • 如果参数没有-auth参数的,vim /etc/mongod.conf
  • 如果不是默认位置,用find / -name mongod.conf搜索到配置文件
  • 注释掉authorization:enabled
  • 重启MongoDB服务service mongodb restart
  • 同上运行命令删除账户
  • 恢复 authorization:enabled
  • 重启 mongodb 服务service mongodb restart
0%