文章目錄
- 1.下載和安裝
- 2.簡單啟動和使用
- 3.密碼設定
- 4.登錄驗證
1.下載和安裝
直接進入MongoDB官網 https://www.mongodb.com/,點擊下圖處進入下載頁面:

選擇平臺為Windwos,包為msi,直接點擊下載(若沒有對應的選項則是網路不好,網頁沒有加載完全,嘗試掛加速器):

打開安裝包后選擇custom自定義安裝目錄,如果之前安裝過會多一個remove按鈕,先移除之前安裝的版本:

為了避免后續安裝和配置出錯,建議安裝前先完全卸載之前的MongoDB服務,先在服務里面查看是否有MongoDB相關的服務,有的話則以管理員身份運行cmd,然后執行sc delete MongoDB(以實際服務名稱為準)洗掉服務,并洗掉之前的MongoDB目錄檔案即可,

選擇安裝目錄后一路next,到了下圖處左下角的鉤建議取消掉可視化工具的下載,因為下載會很慢:

中途有提示框的話請認真翻譯閱讀提示內容,選擇不要關機No,和忽略Ignore,
2.簡單啟動和使用
下載完成后可以看到如下的目錄結構,data是存放資料的目錄,log是存放日志的目錄,bin里面則是可執行程式:

接下來管理員運行cmd,并進入上述bin目錄下,執行如下命令啟動MongoDB服務端,啟動后該命令列視窗必須一直開著,后續設定密碼后在配置到Windows服務中:
mongod.exe --dbpath "D:\Program Files\MongoDB\4.4\data"

然后再打開一個新的cmd視窗在bin目錄下執行如下命令啟動客戶端:
mongo

客戶端連接上服務器中,依次執行下圖中的命令即可使用MongoDB,進行查看資料庫,創建資料庫,創建檔案(集合)和插入資料等操作:

3.密碼設定
在默認情況下,mongod是監聽在127.0.0.1之上的,任何客戶端都可以直接連接27017,且沒有認證,好處是用戶可以即可上手,不用擔心一開始就有很多復雜的配置,降低了門檻;但是如果是公網服務器搭建MongoDB,那么所有人都可以直接訪問并修改資料庫資料了,并且默認情況下,mongod也是沒有管理員賬戶的,
因此除非你在默認的admin資料庫中使用db.createUser()命令添加了管理員帳號,且使用–auth引數啟動mongod,否則在資料庫中任何人都可以無需認證執行所有命令,
首先看看mongodb內置角色:
- 資料庫用戶角色:read、readWrite;
- 資料庫管理角色:dbAdmin、dbOwner、userAdmin;
- 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
- 備份恢復角色:backup、restore;
- 所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- 超級用戶角色:root
- 內部角色:__system
設定密碼,先進入admin資料庫,然后執行下述命令,可根據需求靈活配置賬號、密碼、角色以及角色所屬庫,這里設定了一個有權限訪問所有資料庫的admin用戶,一個只有test庫讀寫權限的hezebin用戶,和一個超級管理員root:
db.createUser({user:"admin",pwd:"admin",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
db.createUser({user:'hezebin',pwd:'123456',roles:[{role:'readWrite',db:'test'}]})
db.createUser({user:'root',pwd:'root',roles:[{role:'root',db:'admin'}]})

配置好用戶后先關閉之前啟動的mongod服務器命令列,因為這個服務啟動是沒有開啟認證的;然后執行如下命令以開啟認證的方式安裝MongoDB服務,其中dbpath和logpath即指定為上述中的資料庫目錄和日志檔案即可:
mongod.exe --dbpath "D:\Program Files\MongoDB\4.4\data" --logpath "D:\Program Files\MongoDB\4.4\log\mongod.log" --auth --install
安裝完成后即可在服務中看到多了一個MongoDB的服務:

然后啟動服務:net start MongoDB:(關閉服務命令為:net stop MongoDB)

4.登錄驗證
密碼設定好后再次啟動客戶端后需要認證才能操作對應權限下的資料庫了,認證方式為先切換到admin:
use admin
然后通過賬號密碼登錄:
db.auth("hezebin","123456")
如下圖所示不同用戶只可見其有對應權限的資料庫:

另一種更為方便和快捷的登錄命令為:
mongo -u admin -p admin
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/264260.html
標籤:其他
