折騰筆記——使用MongoDB(一、Windows安裝MongoDB)

一、MongoDB簡介

        MongoDB是一個高性能,開源,無模式、易部署、易使用,存儲數據很是方便的文檔型數據庫,是當前NoSql(Not Only SQL,但其實已經悄悄滴放棄了SQL的一些特性和功能)數據庫中很是熱門的一種。它在許多場景下可用於替代傳統的關係型數據庫或鍵/值存儲方式。Mongo使用C++開發。Mongo的官方網站地址是:http://www.mongodb.org/ ,能夠去下載編譯好的二進制文件和壓縮包。也能夠去https://github.com/mongodb,下載源碼(版本很是全面)。        javascript

    主要功能特色有:java

  • MongoDB的提供了一個面向文檔存儲,操做起來比較簡單和容易。
  • 你能夠在MongoDB記錄中設置任何屬性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")來實現更快的排序。
  • 你能夠經過本地或者網絡建立數據鏡像,這使得MongoDB有更強的擴展性。
  • 若是負載的增長(須要更多的存儲空間和更強的處理能力) ,它能夠分佈在計算機網絡中的其餘節點上這就是所謂的分片。
  • Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組。
  • MongoDb 使用update()命令能夠實現替換完成的文檔(數據)或者一些指定的數據字段 。
  • Mongodb中的Map/reduce主要是用來對數據進行批量處理和聚合操做。
  • Map和Reduce。Map函數調用emit(key,value)遍歷集合中全部的記錄,將key與value傳給Reduce函數進行處理。
  • Map函數和Reduce函數是使用Javascript編寫的,並能夠經過db.runCommand或mapreduce命令來執行MapReduce操做。
  • GridFS是MongoDB中的一個內置功能,能夠用於存放大量小文件。
  • MongoDB容許在服務端執行腳本,能夠用Javascript編寫某個函數,直接在服務端執行,也能夠把函數的定義存儲在服務端,下次直接調用便可。
  • MongoDB支持各類編程語言:Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++等多種語言。
  • MongoDB安裝簡單。

     支持的功能有:        git

  • 查詢監視:Mongo包含一個監視工具用於分析數據庫操做的性能。(Munin、Gangila、Cacti)
  • 複製及自動故障轉移:Mongo數據庫支持服務器之間的數據複製,支持主-從模式及服務器之間的相互複製。複製的主要目標是提供冗餘及自動故障轉移。
  • 高效的傳統存儲方式:支持二進制數據及大型對象(如照片)
  • 自動分片以支持雲級別的伸縮性:自動分片功能支持水平的數據庫集羣,可動態添加額外的機器。
  • 面向集合的存儲:適合存儲對象及JSON形式的數據。
  • 動態查詢:Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組。
  • 完整的索引支持:包括文檔內嵌對象及數組。Mongo的查詢優化器會分析查詢表達式,並生成一個高效的查詢計劃。

二、下載壓縮包

下載地址:http://dl.mongodb.org/dl/win32/x86_64github

三、安裝步驟

首先把下載好的壓縮包解壓,不要有中文目錄!而後在解壓的同級目錄下創建data(數據庫存放目錄)和log(日誌)文件夾。mongodb

    而後進入bin目錄,在命令行中輸入以下代碼,運行MongoDB服務器數據庫

mongod --dbpath F:\mongodb\data

    若是執行成功,會輸出信息,最後一行以下就說明執行成功了:編程

2017-08-16T10:38:48.391+0800 [initandlisten] waiting for connections on port 27017

    在瀏覽器輸入 127.0.0.1:27017 將看到以下效果數組

第二步將MongoDB服務器做爲Windows服務運行,輸入以下代碼:瀏覽器

mongod.exe --bind_ip yourIPadress --logpath "F:\mongodb\log\mongodb.log" 
--logappend --dbpath "F:\mongodb\data" --port yourPortNumber --serviceName "YourServiceName"
--serviceDisplayName "YourServiceName" --install

        參數詳解: 服務器

參數 描述
--bind_ip 綁定服務IP,若綁定127.0.0.1,則只能本機訪問,不指定默認本地全部IP
--logpath 定MongoDB日誌文件,注意是指定文件不是目錄
--logappend 使用追加的方式寫日誌
--dbpath 指定數據庫路徑
--port 指定服務端口號,默認端口27017
--serviceName 指定服務名稱
--serviceDisplayName 指定服務名稱,有多個mongodb服務時執行。
--install 指定做爲一個Windows服務安裝。

  而後在命令行輸入 services.msc 打開服務,找到MongoDB啓動服務

    

    或者在命令行界面輸入  net start MongoDB啓動服務

四、錯誤排查   

出現100與48

   通常在運行net start mongodb時可能會報出100或48的錯誤(如圖),這個時候去你的日誌文件夾下找以前的日誌文件,在裏面你會看到你的錯誤緣由,我在這裏列出常見的幾個錯誤:

  •    可能沒有設置dbpath和logpath:這時服務會出現開啓成功狀態到開啓失敗狀態的不斷重複
  •    端口被佔用:這時候能夠更改服務的端口或者找到佔用端口的服務將它關閉。
  •    可能因爲上次的不正常關閉MongoDB致使MongoDB被鎖,這時找到data\mongodb.lock文件將它刪除便可。

相關文章
相關標籤/搜索