簡介
MongoDB(來自於英文單詞“Humongous”,中文含義為“龐大”)是可以應用於各種規模的企業、各個行業以及各類應用程式的開源資料庫。作為一個適用於敏捷開發的資料庫,MongoDB的資料模式可以隨著應用程式的發展而靈活地更新。與此同時,它也為開發人員 提供了傳統資料庫的功能:二級索引,完整的查詢系統以及嚴格一致性等等。 MongoDB能夠使企業更加具有敏捷性和可擴充套件性,各種規模的企業都可以通過使用MongoDB來建立新的應用,提高與客戶之間的工作效率,加快產品上市時間,以及降低企業成本。
MongoDB是專為可擴充套件性,高效能和高可用性而設計的資料庫。它可以從單伺服器部署擴充套件到大型、複雜的多資料中心架構。利用記憶體計算的優勢,MongoDB能夠提供高效能的資料讀寫操作。 MongoDB的本地複製和自動故障轉移功能使您的應用程式具有企業級的可靠性和操作靈活性。
安裝
平臺安裝
MongoDB 提供了 OSX 平臺上 64 位的安裝包,你可以在官網下載安裝包:www.mongodb.com/download-ce…
接下來我們使用 curl 命令來下載安裝:# 進入 /usr/local
cd /usr/local
# 下載
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-4.0.5.tgz
# 解壓
sudo tar -zxvf mongodb-osx-x86_64-4.0.5.tgz
# 重新命名為 mongodb 目錄
sudo mv mongodb-osx-x86_64-4.0.5 mongodb
複製程式碼
安裝完成後,我們可以把 MongoDB 的二進位制命令檔案目錄(安裝目錄/bin)新增到 PATH 路徑中。
export PATH=/usr/local/mongodb/bin:$PATH
複製程式碼
brew 安裝
使用 OSX 的 brew 來安裝 mongodb的命令如下:
sudo brew install mongodb
複製程式碼
要安裝支援 TLS/SSL 命令如下:
sudo brew install mongodb --with-openssl
複製程式碼
如果要安裝開發版本,可以使用下面的命令:
sudo brew install mongodb --devel
複製程式碼
然後,使用命令mongod --version來檢視mongo DB是否安裝成功。
執行
首先,我們建立一個資料庫儲存目錄 /data/db。
sudo mkdir -p /data/db
複製程式碼
啟動 mongodb,預設資料庫目錄即為 /data/db。
sudo mongod
# 如果沒有建立全域性路徑 PATH,需要進入以下目錄
cd /usr/local/mongodb/bin
sudo ./mongod
複製程式碼
如果啟動成功,可以看到如下的日誌輸出。
訪問MongoDB
更多參考請訪問:The mongo Shell 如果Mongo 啟動成功,開啟瀏覽器輸入 localhost:27017 ,如果出現以下結果則證明開啟成功。
再開啟一個終端,並執行 mongo 命令:mongo
複製程式碼
然後,執行一個1+1操作。例如:
MongoDB工具
WebStorm 繫結 MongoDB
開啟WebStrom的外掛安裝頁面,搜尋 mongo 即可找到 Mongo Plugin,然後安裝。
安裝完成後需要配置 MongoDB 的安裝目錄到 WebStorm 中,輸入如下命令:which mongo
複製程式碼
將返回結果複製到下面的框中點選 Test 。
Robo 3T
mongodb有很多好用的視覺化工具,Robo 3T就是這麼一款免費的視覺化工具,下載地址為:robomongo.org/download。
當然,還有個收費版本Studio 3T。
常用引數
mongod 是MongoDB系統的主要守護程式,用於處理資料請求,資料訪問和執行後臺管理操作,必須啟動,才能訪問MongoDB資料庫。 在啟動mongod時,常用的引數是:
- --dbpath <db_path>:儲存MongoDB資料檔案的目錄
- --directoryperdb:指定每個資料庫單獨儲存在一個目錄中(directory),該目錄位於--dbpath指定的目錄下,每一個子目錄都對應一個資料庫名字。Uses a separate directory to store data for each database. The directories are under the --dbpath directory, and each subdirectory name corresponds to the database name.
- --logpath <log_path>:指定mongod記錄日誌的檔案
- --fork:以後臺deamon形式執行服務
- --journal:開始日誌功能,通過儲存操作日誌來降低單機故障的恢復時間
- --config(或-f)<config_file_path>:配置檔案,用於指定runtime options
- --bind_ip :指定對外服務的繫結IP地址
- --port :對外服務視窗
- --auth:啟用驗證,驗證使用者許可權控制
- --syncdelay:系統重新整理disk的時間,單位是second,預設是60s
- --replSet :以副本集方式啟動mongod,副本集的標識是setname
mongo 是一個互動式的js shell,提供了一個強大的js 環境,為DBA管理MongoDB,developer查詢MongoDB資料提供介面。通過mongo shell和MongoDB進行互動,查詢和修改MongoDB資料庫,管理MongoDB資料庫,維護MongoDB的副本集和分片叢集,是一個非常強大的工具。 在啟動mongo shell時,常用的引數有:
- --nodb: 阻止mongo在啟動時連線到資料庫例項;
- --port :指定mongo連線到mongod監聽的TCP埠,預設的埠值是27017;
- --host :指定mongod執行的server,如果沒有指定該引數,那麼mongo嘗試連線執行在本地(localhost)的mongod例項;
- db address:指定mongo連線的資料庫;
- --username/-u 和 --password/-p :指定訪問MongoDB資料庫的賬戶和密碼,只有當認證通過後,使用者才能訪問資料庫;
- --authenticationDatabase :指定建立User的資料庫,在哪個資料庫中建立User時,該資料庫就是User的Authentication Database;
MongoDB啟動方式
以命令方式啟動,預設的dbpath是/usr/local/bin/mongo。
mongod --dbpath=/usr/local/bin/mongo
複製程式碼
當然,我們還可以將mongod的命令引數寫入配置文件,然後以配置文件的方式啟動,啟動時如果需要引數可以使用引數-f 。
mongod --dbpath=/usr/local/bin/mongo_config.config
複製程式碼
當啟動MongoDB的程式關閉後,MongoDB隨之關閉,只需要使用--fork引數,就能使MongoDB以後臺守護程式方式啟動。
mongod -fork
複製程式碼