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