1. 程式人生 > >MongoDB 安裝和可視化工具

MongoDB 安裝和可視化工具

and 可視化 構建 set nosql each href 地址 完成

MongoDB 是一款非常熱門的NoSQL,面向文檔的數據庫管理系統,官方下載地址是:MongoDB,我選擇的是 Enterprise Server (MongoDB 3.2.9)版本,安裝在Windows Server 2012環境中。

MongoDB使用BSON對象來存儲,與JSON格式類型的鍵值對(key/value)類似,MongoDB數據庫和關系型DB的存儲模型對應關系:

技術分享

NoSQL 數據庫的理論基礎是CAP 理論,分別代表 Consistency(強一致性),Availability(可用性),Partition Tolerance(分區容錯),分布式數據系統只能滿足其中兩個特性:

  • C
    :系統在執行某項操作後仍然處於一致的狀態。在分布式系統中,更新操作執行成功之後,所有的用戶都能讀取到最新的值,這樣的系統被認為具有強一致性。
  • A:用戶執行的操作在一定時間內,必須返回結果。如果超時,那麽操作回滾,跟操作沒有發生一樣。
  • P:分布式系統是由多個分區節點組成的,每個分區節點都是一個獨立的Server,P屬性表明系統能夠處理分區節點的動態加入和離開。

在構建分布式系統時,必須考慮CAP特性。傳統的關系型DB,註重的是CA特性,數據一般存儲在一臺Server上。而處理海量數據的分布式存儲和處理系統更註重AP,AP的優先級要高於C,但NoSQL並不是完全放棄一致性(Consistency),NoSQL保留數據的最終一致性(Eventually Consistency)。最終一致性是指更新操作完成之後,用戶最終會讀取到數據更新之後的值,但是會存在一定的時間窗口,用戶仍會讀取到更新之前的舊數據;在一定的時間延遲之後,數據達到一致性。

一,設置Path環境變量

在Windows 環境中,MongoDB默認的安裝文件存儲目錄是:C:\Program Files\MongoDB\Server\3.2\bin,點擊 Windows+R,輸入cmd,啟動Command Prompt,進入到安裝目錄:

技術分享

每次打開Command Prompt都需要進入到MongoDB的安裝目錄十分麻煩,可以修改Computer的Environment Variables,右擊This PC->Properties,依次點擊 Advanced System Setting->Environment Variables,打開Environment Variables 窗體,修改 Path 系統變量,在 Path 變量的字符串後面追加"C:\Program Files\MongoDB\Server\3.2\bin",註意兩個Path之間以“;”分割。

技術分享

二,帶你入門

1,啟動MongoDB實例

環境變量設置成功之後,在C盤中創建一個文件夾data,用於存儲MongoDB的數據庫文件。然後,打開一個命令行工具,輸入mongod 啟動MongoDB實例,默認監聽的TCP端口是 27017 。

mongod

MongoDB同時啟動一個HTTP服務器,監聽27017端口,如果MongoDB 實例安裝在本地,那麽在瀏覽器中輸入:http://localhost:27017/

技術分享

mongod 是整個MongoDB最核心的進程,負責數據庫的創建,刪除等管理操作,運行在服務器端,監聽客戶端的請求,提供數據服務。

2,鏈接到MongoDB 實例

不要關閉MongoDB實例,新打開一個命令行工具,輸入mongo ,該命令啟動mongo shell,shell 將自動連接本地(localhost)的MongoDB實例,默認的端口是27017:

mongo

mongo進程是構造一個Javascript Shell,用於跟mongod進程交互,根據mongod提供的接口對MongoDB數據庫進行管理,相當於SSMS(SQL Server Management Studio),是一個管理MongoDB的工具。

3,查看當前連接的DB

使用命令查看正在連接的數據庫名字

db
db.getName()

4,查看MongoDB實例中的db 和 collection

show dbs

show collections
db.getCollectionNames()

5,切換db

use foo

6,在foo數據庫中創建users集合,向集合中插入一條document

use foo
db.users.insert({"name":"name 1",age:21})
db.users.find()

7,關閉MongoDB 實例

在mongo shell中,執行以下命令,關閉MongoDB實例

use admin
db.shutdownServer()

8,幫助命令

help

db.help()查看數據庫級別的幫助
db.mycoll.help()查看集合級別的幫助

三,mongod 命令常用參數

1,常用參數

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 address>:指定對外服務的綁定IP地址
  • --port <port>:對外服務窗口
  • --auth:啟用驗證,驗證用戶權限控制
  • --syncdelay<value>:系統刷新disk的時間,單位是second,默認是60s
  • --replSet <setname>:以副本集方式啟動mongod,副本集的標識是setname

2,MongoDB的啟動方式

2.1 以命令方式啟動,默認的dbpath是 C:\data\db

mongod --dbpath=C:\data\db

2.2 以配置文檔的方式啟動

將mongod的命令參數寫入配置文檔,以參數-f 啟動

mongod -f C:\data\db\mongodb_config.config

2.3 以daemon方式啟動

當啟動MongoDB的進程關閉後,MongoDB隨之關閉,只需要使用--fork參數,就能使MongoDB以後臺守護進程方式啟動。

mongod -fork

3,查看mongod的啟動參數

db.serverCmdLineOpts()

四,mongo命令常用參數

mongo 是一個交互式的js shell,提供了一個強大的js 環境,為DBA管理MongoDB,developer查詢MongoDB數據提供接口。通過mongo shell和MongoDB進行交互,查詢和修改MongoDB數據庫,管理MongoDB數據庫,維護MongoDB的副本集和分片集群,是一個非常強大的工具。

在啟動mongo shell時,常用的參數是:

  • --nodb: 阻止mongo在啟動時連接到數據庫實例;
  • --port <port> :指定mongo連接到mongod監聽的TCP端口,默認的端口值是27017;
  • --host <hostname> :指定mongod運行的server,如果沒有指定該參數,那麽mongo嘗試連接運行在本地(localhost)的mongod實例;
  • <db address>:指定mongo連接的數據庫
  • --username/-u <username> 和 --password/-p <password>:指定訪問MongoDB數據庫的賬戶和密碼,只有當認證通過後,用戶才能訪問數據庫;
  • --authenticationDatabase <dbname>:指定創建User的數據庫,在哪個數據庫中創建User時,該數據庫就是User的Authentication Database;

五,MongoDB的可視化工具

1,推薦 Robomongo

Robomongo 是開源,免費的MongoDB管理工具,下載地址:Robomongo下載

2,MongoBooster

支持MongoDB 3.2 版本,個人使用免費,用於商業收費,下載地址:MongoBooster下載

六,學習MongoDB

1,推薦學習MongoDB書籍

動物書《MongoDB權威指南-第二版》,非常經典

2,學習MongoDB的官方手冊: MongoDB Manual

3,學習MongoDB的入門教程:MongoDB Tutorial

參考文檔:

mongod

mongo

MongoDB 安裝和可視化工具