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

Mongodb在不同操作系统中的配置文件存放名称和位置也不一样,可参考:https://www.mongodb.com/docs/manual/reference/configuration-options/
Platform | Method | Configuration File |
|---|---|---|
|
| |
macOS |
|
|
Windows | MSI Installer |
|
其实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的注释。