mongodb忘記密碼的處理辦法較MySQL等數據庫而言方法顯得更加暴力,處理方式如下:
1. 修改mongodb的配置文件
mongodb的配置文件一般可以通過查看進程的方式查看文件名,例如:
ps -ef|grep mongod
然后修改配置文件,將其中的auth = true 用戶驗證的配置注釋掉
2. 重啟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
3. 修改密碼
此時這時候登錄就不需要密碼認證,可以進行修改密碼的處理
/* 切換到 admin 用戶下 */ use admin /* 查看當前的用戶 */ db.system.users.find() /* 刪除現有用戶 */ db.system.users.remove({}) /* 創建新的超管賬號 */ db.createUser({user:"admin",pwd:"Admin@123",roles:["root"]})
4. 還原mongodb配置並重啟mongodb
重置后再將配置文件還原,使用認證方式登錄
再如第2步的方式重啟mongodb即可
注: 在處理過程中建議先備份數據庫,之后再進行操作。另外例子中是刪除了所有用戶,之后需要還原或者重建需要的用戶。