1. 程式人生 > >MongoDB系列---入門安裝操作

MongoDB系列---入門安裝操作

MongoDB

學習大綱:

  1、MongoDB簡介與其它資料庫對比以及資料型別

  2、MongoDB安裝

  3、MongoDB簡單操作

環境要求:

  Linux

 


 

一、MongoDB簡介

1 什麼是MongoDB

   MongoDB是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充套件的高效能資料儲存解決方案。

  MongoDB是一個介於關係型資料庫和非關係型資料庫之間的產品,是非關係資料庫當中功能最豐富,最像關係資料庫的。它支援的資料結構非常鬆散,是類似json和bson格式,因此可以儲存比較複雜的資料型別。Mongo最大的特點是它支援的查詢語言非常強大,其語法有點類似於面向物件的查詢語言,幾乎可以實現類似關係資料庫單表查詢的絕大部分功能,而且還能支援對資料建立索引。

2 什麼是NoSQL

  NoSQL(NoSQL=Not Only SQl),意即“不僅僅是SQL”,是一項全新的資料庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。NoSQL的擁護者們提倡運用非關係型的資料儲存,相對於鋪天蓋地的關係型資料庫運用,這一概念無疑是一種全新的思維注入。

3 NoSQL資料庫的分類

3.1 鍵值(key-value)儲存資料庫

  這一類資料庫主要會使用到一個雜湊表,這個表中有一個特定的鍵和一個指標指向特定的資料。key/value模型對於IT系統來說的優勢在於簡單、易部署。但是如果DBA只對部分分值進行查詢或更新的時候,key/value就顯得低效率了。例如:

Tokyo Cabinet/Tyrant,
Redis, Voldemort, Oracle BDB

 

3.2列儲存資料庫

  這部分資料庫通常是用來應對分散式儲存的海量資料。鍵仍然存在,但是它們的特點是
指向了多個列。這些列是由列家族來安排的。如:Cassandra, HBase, Riak

 

3.3 文件型資料庫

  文件型資料庫的靈感是來自於 Lotus Notes 辦公軟體的,而且它同第一種鍵值儲存相類似。該型別的資料模型是版本化的文件,半結構化的文件以特定的格式儲存,比如 JSON。文件型資料庫可 以看作是鍵值資料庫的升級版,允許之間巢狀鍵值。而且文件型資料庫比鍵值資料庫的查詢效率更高。如:CouchDB, MongoDb. 國內也有文件型資料庫 SequoiaDB,已經開源。

 

3.4圖形(Graph)資料庫

  圖形結構的資料庫同其他行列以及剛性結構的 SQL 資料庫不同,它是使用靈活的圖形模型,並且能夠擴充套件到多個伺服器上。NoSQL 資料庫沒有標準的查詢語言(SQL),因此進行資料庫查詢需要制定資料模型。許多 NoSQL 資料庫都有 REST 式的資料介面或者查詢 API。如:Neo4J, InfoGrid, Infinite Graph

 

二、MongoDB與關係型資料庫對比

1 與關係型資料庫術語對比(我們可以發現還是很像的)

 

 

 

2 儲存資料對比

 

 

 3 RDBMS 與 MongoDB對應的術語

 

 

 

三、MongoDB的資料型別

 

 

 

 

 

 

四、MongoDB的下載與安裝

1 下載MongoDB

  下載地址:https://www.mongodb.com/download-center/community

  本博文使用的是:mongodb-linux-x86_64-4.0.9.tgz 版本

2 安裝MongoDB

2.1Linux 安裝

  在 Linux 平臺的 MongoDB 為解壓版。我們只要解壓 tgz 檔案就可以使用。

2.1.1 下載 ForLinux  平臺的 的 MongoDB

 

 2.1.2 將下載的 tgz  包上傳到 Linux 

 

 

 

2.1.3解壓tgz檔案

通過tar命令對tgz檔案做解壓處理

 

 

 2.1.4 移動 MongoDB

我們將解壓完的 MongoDB 目錄移動到/usr/local 目錄中並改名為 mongodb。(當然這些都不是固定的)

 

 

2.1.5建立資料庫目錄

  MongoDB 的資料儲存在 data 目錄的 db 目錄下,但是這個目錄在安裝過程不會自動建立,需要手動建立 data 目錄,並在 data 目錄中建立 db 目錄。data 目錄可以建立在任何位置。本套視訊中,我們將 data 目錄建立鍵 mongodb 的根目錄下。

 

 

 

 

 

 

 至此 Linux 平臺中的 MongoDB 就已經安裝完畢。很簡單不是?

 

3 MongoDB的啟動與關閉

3.1 啟動 MongoDB

MongoDB 的啟動方式分為兩種

1)前置啟動
2)後置啟動

  無論哪種啟動方式都需要執行 bin 目錄中的 mongod 命令。MongoDB 在啟動時預設的查詢資料庫的路徑為/data/db。如果我們資料庫路徑有變化,需要在該命令中通過--dbpath 參數來指定 db 目錄的路徑(該路徑可以是絕對路徑,也可是相對路徑)

3.1.1 前置啟動

MongoDB 的預設啟動方式為前置啟動。所謂前置啟動就是 MongoDB 啟動程序後會佔
用當前終端視窗。
進入到 MongoDB 的 bin 目錄

執行 bin 目錄中的 mongo 命令。

由於我們的 db 目錄放在 mongodb 的根下,所以在執行該命令時需要通過 --dbpath 引數
指定 db 路徑

 

 

啟動後會在終端中輸出一些啟動資訊。此時終端視窗已被啟動程序所佔用。我們通過啟
動資訊可以看到 MongoDB 預設的監聽埠為 27017、

 

按 Ctrl+C 可結束啟動程序關閉 MongoDB

 

 

 


 

 

3.1.2 後置啟動(關閉後置啟動程序可在文章後部分檢視)

  所謂後置啟動就是以守護程序的方式啟動 MongoDB。我們需要在執行 mongod 命令中新增 --fork 引數。需要注意的是,--fork 引數需要配合著--logpath 或者是--syslog 引數使用。--logpath 與--syslog 引數是指定 MongoDB 的日誌檔案。MongoDB 的日誌檔案可以在系統中的任意位置,本文章中我們在 mongodb 目錄下建立 log 目錄,在該目錄中建立一個名為mongodb.log 的日誌檔案。

 

建立 log 目錄

 

 

 

在 log 目錄中建立 mongodb.log 日誌檔案

 

 

後置啟動 MongoDB

 

 就此我們就已經啟動成功了!

 

3.1.3常見的啟動引數

 

 我們初學者先大概瞭解就好,後續我會詳細介紹的。

 

3.1.4 配置檔案方式啟動

  如果覺得在啟動 MongoDB 時給定的引數項太多,那麼我們也可以通過配置檔案來配置啟動引數,配置檔案可以在任意目錄中,配置檔案的副檔名應為.conf,配置檔案中使用key=value 結構。在執行 MongoDB 時通過--config 引數來指定需要載入的配置檔案。

  我們在 mongodb 目錄下建立一個 etc 目錄,在該目錄中建立一個名為 mongodb.conf 的配置檔案。

 

 建立 mongodb.conf 配置檔案

 

 

編輯配置檔案,在配置檔案中新增配置項:
1)指定 db 路徑
2)指定日誌檔案

3)設定所有ip都可以訪問
4)配置埠
5)配置後端啟動
在配置檔案中配置啟動引數時需要注意的是,在引數前不在加--符號,直接以引數名作
為 key 就可以

 

 

通過載入配置檔案啟動MongoDB

 

 


 

 

3.1.5配置環境變數 

  為了能夠在任何目錄中執行 bin 目錄中的命令,我們可以將 bin 目錄新增到環境變數中。修 改 /etc/profile 文 件 , 添 加 export PATH=/usr/local/mongodb/bin:$PATH 。/usr/local/monogdb/bin 為 MongoDB 的 bin 目錄的絕對路徑。同學們可根據自己的情況來指

我們在配置檔案的最後一行加上如下配置

 

 

 

重新載入/etc/profile 檔案(這樣只是臨時生效,永久生效還需要重新啟動linux)

 

 

測試結果

 

 

 

 

3.2 關閉MongoDB

3.2.1使用Ctrl+C關閉 

  如果我們的啟動方式是前置啟動,那麼直接使用快捷鍵 Ctrl+C 就可以關閉 MongoDB。這種關閉方式會等待當前進行中的的操作完成,所以依然是安全的關閉方式。

 

3.2.2使用kill命令關閉

  我們可以通過Linux的kill命令結束MongoDB程序,然後刪除data目錄中的mongod.lock檔案,否則下次無法啟動。但是此方法不建議使用,因為會造成資料損壞現象

 

3.2.3使用MongoDB的函式關閉

在MongoDB中提供了兩個關閉資料庫的函式:

db.shutdownServer()

db.runCommand("shutdown")

如上兩個方法都需要在admin庫中執行,並且都是安全的關閉方式

具體方法:

啟動bin目錄下的 mongo客戶端檔案(首先mongod是啟動的)

./mongo

Ctrl + C退出客戶端即可。

 

3.2.4 使用 mongod  命令關閉 MongoDB

./mongod --shutdown --dbpath<資料庫路徑>

例如:./mongod --shutdown --dbpath /usr/local/mongodb/data/db

mongod 命令的 shutdown 選項能安全的關閉 MongoDb服務

 

上邊提到了好幾次安全關閉,安全關閉到底指的是什麼呢?

i比如我們在處理資料的時候,它還有後臺程序正在進行工作,但是你直接啟動關閉命令了,它會等手頭活忙完然後才會關閉,否則會造成資料丟失  等不可預估後果。

 

就此本章入門的東西就ok了

有任何問題隨時留言哦,歡迎指出問題