mongodb報錯UserNotFound: Could not find user xxx@xxx


今天把數據庫上傳到服務器,順便把后台代碼上傳服務器,測試一下數據庫連接情況的時候報了一個錯:

 

 

分析原因:

 AuthenticationFailed:身份驗證失敗。

但是我的數據庫的用戶和密碼我是設置了的,你看如下,並且是root用戶,且我用得用戶和我本地的mongo用戶密碼都一樣,都是:

mongodb://hmy:123456@localhost:27017/we_teach

並且服務器上面我輸出的用戶名也是:

 

 這就怪了,我有去看了下日志記錄:

 

 怪了,服務器上面查到的本來就是這個密碼和用戶啊,為什么自己的服務器日志輸出的結果卻是沒有找到hmy用戶,反復查看后還是無果。最后改為無密碼登錄:

mongodb://localhost:27017/we_teach

數據立馬出現

 

 我靠這是怎么回事?

接着我打開我的conf配置文件:(conf配置文件看你自己安裝的安裝地址,一般使用whereis mongod會輸出你的mongod安裝位置)

 

 authorization:disable

 授權禁用,會不會是禁用了授權的原因?試着改一下,變為enable看看:

 

 發現窗口又在轉了,加載不出來

后來又在admin新建了root用戶,發現還是無果……

這個問題先留着吧,暫時不用密碼登錄

-------------------------------------------------------------------------------------------------------------------------

不甘心,繼續研究了一個多小時:

發現我去:

 

 這個127.0.0.0是我什么時候手賤寫到的,應該是127.0.0.1才是本機地址,127.0.0.0這個鬼地址是不存在的,但是剛才為什么還讓我用這個鬼地址加上無密碼登錄上了?

真是世界未解之謎!

最后在加個authSorce='admin',認證來源寫上admin,也就是管理員的意思

let options = {
  database:'mongodb://hmy:123456@localhost:27017/we_teach?authSource=admin',
  // database:'mongodb://@localhost:27017/we_teach',
  dataConfig:{useNewUrlParser:true,useUnifiedTopology: true}
}

 

 

 

 最后得償所願:

 

 

唉,浪費了這么多時間,原來眼瞎是多么可怕~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM