MongoDB数据库忘记管理员账号密码怎么办?

技术运维MongoDB 1568

Mongodb在不同操作系统中的配置文件存放名称和位置也不一样,可参考:https://www.mongodb.com/docs/manual/reference/configuration-options/

Platform

Method

Configuration File

Linux

apt, yum, or zypper Package Manager

/etc/mongod.conf

macOS

brew Package Manager

/usr/local/etc/mongod.conf (on Intel processors), or

/opt/homebrew/etc/mongod.conf (on Apple M1 processors)

Windows

MSI Installer

<install directory>\bin\mongod.cfg

其实MongoDB数据库超级管理员密码忘记的解决方法非常简单,首先修改/etc/mongod.conf 关闭认证机制:

#security:
#  authorization: enabled

找到上面两行并给它们一起注释掉,切记是两行一起注释掉缺一不可。

保存后重启mongodb服务,这时候重新登陆数据库就不需要安全认证了

2024-10-23更新mongodb无法启动的情况

由于套接字文件 /tmp/mongodb-27017.sock 可能是一个旧的残留文件,MongoDB 无法删除它,需要手动删除该文件

sudo rm /tmp/mongodb-27017.sock

然后再使用sudo systemctl start mongod命令重启服务。

mongo
use admin 
db.system.users.find()  #用户列表
db.system.users.remove({})  #移除用户

再重新添加账号

db.createUser({user:'admin',pwd:'password',role:[{"role":"userAdminAnyDatabase","db":"admin"}]})

或更改密码

mongo #登录mongodb
use admin  #选择admin数据库
show users  #查看账户
db.updateUser("admin", {pwd: "new_password"})    #更改密码

最后别忘记恢复数据库安全认证配置,去掉第一步中加上去的security的注释。

Post Comment