時間:2024-02-28 13:28作者:下載吧人氣:29
前言
MongoDB副本集默認(rèn)會創(chuàng)建local、admin數(shù)據(jù)庫,local數(shù)據(jù)庫主要存儲副本集的元數(shù)據(jù),admin數(shù)據(jù)庫則主要存儲MongoDB的用戶、角色等信息。
Mongodb的gridfs一次插入數(shù)據(jù)的時候會自動創(chuàng)建幾個索引,我們程序里面的賬號沒有createIndex權(quán)限,我需要手動創(chuàng)建一下。結(jié)果連接到mongo服務(wù)器之后忘記執(zhí)行use xxxdb來切換數(shù)據(jù)庫了,于是在admin數(shù)據(jù)庫里面創(chuàng)建了一個索引,結(jié)果導(dǎo)出一邊的程序報出來很多驗證問題。
Mongo的admin數(shù)據(jù)庫太脆弱了,只是創(chuàng)建一個索引就掛了。長個教訓(xùn),以后千萬不要手動修改它,更不要用admin保存數(shù)據(jù)。
反思一下,這次操作失誤其實爆出我平時一些不好的習(xí)慣。
首先,連接mongo應(yīng)該指定目標(biāo)數(shù)據(jù)。而我之前都是連接到admin,然后用use切換到目標(biāo)數(shù)據(jù)庫。這樣難免會忘記。
$ # 錯誤使用 $ mongo ourdomain.com/admin -u tom -p tompass $ # 正確的使用 $ mongo ourdomain.com/mydb -u tom -p tompass --authenticationDatabase admin
網(wǎng)友評論