本篇的前提是已經安裝好MongoDB並且成功連接上mongodb.
第一次玩MongoDB我安裝的是3.6.3 ,安裝完成之后默認不需要用戶名與密碼,我希望像之前用的關系型數據庫mysql一樣 設置一個用戶名與密碼,在網上查閱,許多方法不對,才知道是版本問題,因此如果您讀到此篇,設置之前需保證自己的版本正確。
首先 ,在默認無需用戶名密碼的情況下連接上mongodb
C:\Users\Administrator>mongo
MongoDB shell version v3.6.3 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.6.3
我這樣寫的前提是將mongodb添加到系統環境變量,將安裝mongodb的路徑..\mongodb\bin\ 添加到計算機高級配置 環境變量里面的系統變量,多個變量之間用分號隔開。
注意:在寫的時候翻了個錯誤 ,創建用戶前要知道自己當前屬於哪個數據庫,默認連接到test數據庫,結果我在test數據庫中創建了對admin有讀寫權限的jenny,
所以要先use dbname 進入該數據庫,在進行角色創建工作。
> db.createUser({ user:'jenny', pwd:'jenny', roles:[ {role:'readWrite',db:'admin'} ] })
成功執行
其次,打開MongoDB安裝目錄下之前建立的,mongo.config 配置文件,添加 auth=true 保存關閉即可
關閉驗證的話 填寫noauth=ture
重啟MongoDB 會看到如下界面,不會自動連接;
這時使用 show dbs 會報錯,需使用如下命令返回值為1說明正確連接
> db.auth('jenny','jenny')
1
>
在內置數據庫admin中設置的用戶及密碼可訪問系統中所有其他表
附錄:幾個mogodb命令
1.show dbs ----列出所有數據庫
2.db.getName() ----列出當前數據庫名
3.use dbname ----切換到某個數據庫
4.db.createUser() ----創建用戶角色
5.db.auth() ---- 驗證用戶到數據庫