因新公司項目涉及大數據處理,選擇技術MongoDB,所以準備學習下這方面的知識!
1、版本
MongoDB 下載
MongoDB 提供了可用於 32 位和 64 位系統的預編譯二進制包,你可以從MongoDB官網下載安裝,MongoDB 預編譯二進制包下載地址:https://www.mongodb.com/download-center#community
根據你的系統下載 32 位或 64 位的 .msi 文件,下載後雙擊該文件,按操作提示安裝即可。
安裝過程中,你可以通過點擊 "Custom(自定義)" 按鈕來設置你的安裝目錄。
4.0版本後改動:MongoDB 支持多文檔 ACID 事務,遵循著名的 ACID 模型;
2、安裝
下一步安裝 "install mongoDB compass" 不勾選,否則可能要很長時間都一直在執行安裝,MongoDB Compass 是一個圖形界面管理工具,我們可以在後面自己到官網下載安裝,下載地址:https://www.mongodb.com/download-center/compass。
然後就按照默認安裝一路點下去,新版的Mongodb在安裝過程中會遇到下圖問題
解決辦法:
1.點擊ignore 忽略掉;
2.創建數據目錄,MongoDB將數據目錄存儲在 db 目錄下。但是這個數據目錄不會主動創建,我們在安裝完成後需要創建它。請注意,數據目錄應該放在根目錄下((如: C:\ 或者 D:\ 等 )。筆者的在E:\MongoDB\data\db;
3.在cmd進入E:\MongoDB\bin目錄下(在windows資源管理器中shift+右鍵打開powershell也行)然後執行mongod -dbpath E:\MongoDB\data\db 命令 如下圖:
然後在bin目錄下另外打開一個cmd 在bin目錄下執行mongo命令
安裝完成!
3、問題
安裝完後關閉服務嘗試再次連接服務存在問題:
1.mongoDB Server 服務無法啓動,手動啓動時報錯誤1053
原因:
解決辦法:刪除mp: 重啓服務!
4、權限
創建管理員
use admin
db.createUser(
{
user: "userAdmin", //用戶名
pwd: "123", //密碼
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] //權限
}
)
重啓MongoDB服務器
mongod --auth --port 27017 --dbpath <關聯路徑>
(端口默認就是27017可以不指定)
終端最後輸出"[initandlisten] waiting for connections on port 27017",
啓動完成
連接並認證
mongo --port 27017 -u "userAdmin" -p "123" --authenticationDatabase "admin"
添加額外權限用戶
use test
db.createUser(
{
user: "tester",
pwd: "123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"
最後一定記得要修改“mongod.cfg"配置文件開啓驗證 security: authorization: enabled,很多人發的貼子粘貼複製,都沒提到這一點: