1. 程式人生 > >WINDOWS2008R2系統MongoDB環境搭建手冊

WINDOWS2008R2系統MongoDB環境搭建手冊

   自己根據網上前輩們的資料根據自身實踐,整理出了MongoDB在windows2008R2伺服器上安裝的方法,希望給廣大朋友提供一點幫助。

1.MongoDB安裝和試執行

2.1 MongoDB安裝

  1. 解壓mongodb-win32-x86_64-2008plus-2.2.3(該版本適用windows2008)至C:\mongodb2.2.3(你可以按照自己的路徑來,路徑中最好不要有空格,要不然麻煩)。
  2. 新建資料夾C:\DATA\DB。
  3. 進入CMD,執行命令
  1. C:\mongodb2.2.3\bin\mongod.exe -dbpath C:\DATA\DB, MongoDB已經安裝成功並已經在執行中了,你將會看到如下:

此時是mongoDB的執行狀態,你可以按Ctrl+C結束執行狀態或者直接關掉CMD結束執行。

2.2 MongoDB試執行

保持mongod命令視窗的執行狀態,再新開一命令視窗
輸入C:\mongodb2.2.3\bin\mongo,出現

>show dbs
OK
,連線成功。
1. show dbs 顯示資料庫列表
2. use Northwind 進入Northwind資料庫,大小寫敏感
3. show collections 顯示資料庫中的集合
4. db 用於檢視當前所在的資料庫
5. db.Customer.count() 檢視集合Customer的記錄總數
6. db.Customer.findOne({"_id":"1"})

檢視CustomerId=1的記錄

新增資料
1. use MyTest,這個資料庫不存在,無所謂,mongo會建立,
MongoDB在使用前,並不要求您事先建立好相應的資料庫,設計資料表結構!
在MongoDB中,沒有【表】的概念,取而代之的是【集合】,也沒有【資料記錄】的概念,取而代之的是【文件】,我們可以把【文件】理解成一個【物件】,任意的物件,甚至可以有複雜的巢狀層次。
因此,我們不用再寫程式碼從【資料表字段】到C#類的【屬性,欄位】的轉換了,現在直接就可以讀寫整個物件了。
而且MongoDB不支援Join操作,所以,如果有【關聯】操作,就需要你自己來處理
2. item={"Key":"1","text":"wokao","number":3}
3. db.table1.insert(item)

,mongo將建立集合table1,並將item插入,完成了新增加資料庫的工作
4. db.table1.find()顯示table1中的資料,MongoDB的文件使用的是一種稱為BSON格式的物件,與Javascript中的JSON類似
5. 額外的,輸入item1={"Id":5,"str":"asdfasdf"},再插入db.table1.insert(item1),再用find()命令看,也插入成功了~,注意到結構和item不一樣!但不建議這樣做。
注意到:【每個文件有一個名為 "_id" 的成員】,我可沒有定義啊。
其實,MongoDB會為每個文件都建立這樣一個文件成員,我們指定的 "key", "id" 對於MongoDB來說:它們並不是【文件的主鍵】,MongoDB只認 "_id",你可以指定,但如果不指定,MongoDB就自動新增。

修改資料

1.  var t=db.table1.findOne({"Id":5}),獲取一條記錄

2.  t.str="wokao"

3.  db.table1.update({"Id":5},t)

刪除資料

db.table1.remove({"Id":5})

查詢資料

上面已經有find和findOne命令,即用於查詢
db.table1.find()

MongoDB的查詢條件中,並沒有 >, <, >= , <= 這些運算子,而是使用 "$lt", "$lte", "$gt", "$gte"

新建表

db.MyTest.table2.save({})

刪除表

db.table1.drop()或db.runCommand({"drop","table1"})

刪除資料庫

db.runCommand({"dropDatabase": 1}),此命令只能刪除當前資料庫

獲取服務端狀態資訊

db.runCommand({"serverStatus" : 1})

2. MongoDB伺服器安裝

3.1 副本集+仲裁伺服器

2.1.1.啟用三臺伺服器:

192.168.57.115:

新建目錄,C:\data\replset\r0

新建檔案,C:\data\replset\log\r0.log

192.168.57.125:

新建目錄,C:\data\replset\r1

新建檔案,C:\data\replset\log\r1.log

192.168.57.126:

新建目錄,C:\data\replset\r2

新建檔案,C:\data\replset\log\r2.log

2.1.2.啟動MongoDB服務

192.168.57.115:

mongod.exe  --dbpath=/data/replset/r0 --replSet  replset1  --port 28010 --logpath=/data/replset/log/r0.log --logappend  --directoryperdb

192.168.57.125:

mongod.exe  --dbpath=/data/replset/r1 --replSet  replset1  --port 28011 --logpath=/data/replset/log/r1.log --logappend  --directoryperdb

192.168.57.126:

mongod.exe  --dbpath=/data/replset/r2 --replSet  replset1  --port 28012 --logpath=/data/replset/log/r2.log --logappend  --directoryperdb

2.1.3.初始化副本集

192.168.57.115:

CMD命令列執行: C:\mongodb2.2.3\bin mongo --port 28010

配置命令賦值:

config_replset1 = {

_id:"replset1",

members:

[

{_id:0,host:"192.168.57.115:28010",priority:4},

{_id:1,host:"192.168.57.125:28011",priority:2},

{_id:2,host:"192.168.57.126:28012",arbiterOnly : true}

]

}

配置初始化:rs.initiate(config_replset1);

完成後可以通過:rs.status()命令來檢視配置狀態。這樣全部搭建成功。如下圖狀態顯示:

2.1.4.外部訪問介面

外部訪問介面為:"192.168.57.115:28010","192.168.57.125:28011"

2.1.5.一般訪問查詢命令

#設定從庫可讀(從庫上執行)

>rs.slaveOk();
檢視副本集狀態

>rs.status()
>user local;
>rs.isMaster()
>db.system.replset.find()
檢視當前主庫:

>;db.$cmd.findOne({ismaster:1});

3.2 Replica Set+Sharding(叢集+分片)

3.2.1. 叢集設定

* 使用Replica Sets,確保每個資料節點都具有備份、自動容錯轉移、自動恢復能力。

* 使用3個配置伺服器,確保元資料完整性

* 使用3個路由程序,實現負載平衡,提高客戶端接入效能

統一對外介面:三個路由程序都是單獨的對外介面,每個介面都可以通過三個配置服務控制副本集shard1和shard2。

3.2.2.    叢集設定圖

3.2.3.    啟用三臺伺服器:

192.168.57.115:

新建目錄,C:\data\shard1_1;C:\data\shard2_1;C:\data\config

新建檔案,C:\data\shard1_1\shard1_1.log;C:\data\shard2_1\shard2_1.log

192.168.57.125:

新建目錄,C:\data\shard1_2;C:\data\shard2_2;C:\data\config

新建檔案,C:\data\shard1_2\shard1_2.log;C:\data\shard2_2\shard2_2.log

192.168.57.126:

新建目錄,C:\data\shard1_3;C:\data\shard2_3;C:\data\config

新建檔案,C:\data\shard1_3\shard1_3.log;C:\data\shard2_3\shard2_3.log

3.2.4.    啟動MongoDB服務

192.168.57.115:

1. 配置shard1所用到的Replica Sets

mongod.exe -shardsvr -replSet shard1 -port 27017 -dbpath C:\data\shard1_1 -logpath C:\data\shard1_1\shard1_1.log –logappend

2. 配置shard2所用到的Replica Sets

mongod.exe -shardsvr -replSet shard2 -port 27018 -dbpath C:\data\shard2_1 -logpath C:\data\shard2_1\shard2_1.log -logappend

192.168.57.125:

1. 配置shard1所用到的Replica Sets

mongod.exe -shardsvr -replSet shard1 -port 27017 -dbpath C:\data\shard1_2 -logpath C:\data\shard1_2\shard1_2.log –logappend

2. 配置shard2所用到的Replica Sets

mongod.exe -shardsvr -replSet shard2 -port 27018 -dbpath C:\data\shard2_2 -logpath C:\data\shard2_2\shard2_2.log -logappend

192.168.57.126:

1. 配置shard1所用到的Replica Sets

mongod.exe -shardsvr -replSet shard1 -port 27017 -dbpath C:\data\shard1_3 -logpath C:\data\shard1_3\shard1_3.log –logappend

2. 配置shard2所用到的Replica Sets

mongod.exe -shardsvr -replSet shard2 -port 27018 -dbpath C:\data\shard2_3 -logpath C:\data\shard2_3\shard2_3.log -logappend

3.2.5.    配置初始化

3.2.5.1 shard配置初始化

1.  初始化shard1

下執行

mongo --port 27017

config={_id:'shard1',members:[{_id:0,host:'192.168.57.115:27017'},{_id:1,host:'192.168.57.125:27017'},{_id:2,host:'192.168.57.126:27017'}]}

rs.initiate(config)

2.  初始化shard2

下執行

    mongo.exe -port 27018

    config={_id:'shard2',members:[{_id:0,host:'192.168.57.115:27018'},{_id:    1,host:'192.168.57.125:27018'},{_id:2,host:'192.168.57.126:27018'}]}

 rs.initiate(config)

3.2.6.    啟用配置服務

    在192.168.57.115、192.168.57.125、192.168.57.126上分別執行命令:

下執行

    mongod.exe -configsvr -dbpath C:\data\config -port 20000 -logpath     C:\data\config\config.log –logappend

    配置服務啟動成功。

3.2.7 啟用路由伺服器

    在192.168.57.115、192.168.57.125、192.168.57.126上分別執行命令:

下執行

mongos.exe -configdb     192.168.57.115:20000,192.168.57.125:20000,192.168.57.126:20000 --port     30000 --chunkSize 1 -logpath C:\data\mongos.log –logappend

    路由服務配置成功。

3.2.8 配置shard cluster

連線其中一臺機器的埠30000的mongos程序,並切換到admin資料庫做以下配置:

./mongo --port 30000

>use admin

>db.runCommand({addshard:"shard1/192.168.57.115:27017,192.168.57.125:27017,192.168.57.126:27017"});

>db.runCommand({addshard:"shard2/192.168.57.115:27018,192.168.57.125:27018,192.168.57.126:27018"});

>db.runCommand({enablesharding:"test"})

>db.runCommand({shardcollection:"test.users",key:{_id: 1}})

至此,叢集和分片安裝完畢。可以通過rs.status()檢視當前伺服器的狀態。

3.2.9 外部訪問叢集資料庫介面

任何一臺實現了第二章節的mongodb的安裝,都可以通過目錄下執行mongos 192.168.57.115.2000來訪問叢集資料庫。或者mongos 192.168.57.125.2000來訪問叢集資料庫。或者mongos 192.168.57.126.2000來訪問叢集資料庫。

相關推薦

WINDOWS2008R2系統MongoDB環境搭建手冊

   自己根據網上前輩們的資料根據自身實踐,整理出了MongoDB在windows2008R2伺服器上安裝的方法,希望給廣大朋友提供一點幫助。 1.MongoDB安裝和試執行 2.1 MongoDB安裝 解壓mongodb-win32-x86_64-2008plus-2.

使用cordova+Ionic+AngularJs進行Hybird App開發的環境搭建手冊

font eqv hsi all bvs dfs epp pda yml 一。所需工具 1,JDK:生成 2。安卓SDK開發環境 3,NodeJs:主要使用的還是npm 4,Python開發環境 5。VS 2012(2008,2015也

利用 django 編寫博客系統環境搭建

run AI 回顧 python3 tar djang style 根目錄 設定 之前學習並自己寫了一個博客系統,現在回顧一下過程,並細化下所學知識,根據每一步來深入學習相關知識。 1、搭建開發環境。 本次博客系統開發采用python3 django 1.10 版本。並采用

Linux系統MAVEN環境搭建

目的:在Linux系統中配置Maven環境 軟體:Maven 軟體下載地址:http://maven.apache.org/download.cgi 詳細步驟: 1)將下載的Maven包上傳到Linux系統目錄中(本人使用的是 apache-maven-3.5.4-bin.tar

大資料-Hadoop-HDFS(分散式檔案系統環境搭建

1:Hadoop三大核心元件 A:分散式檔案系統HDFS B:分散式資源排程器 C:分散式計算框架MapReduce 2:HDFS簡介: HDFS架構:HDFS採用Master/Slave架構 即:一個Master(NameNode)對應多個Slave(DataNode)

【AI】MXNet(CPU+GPU) Windows10系統開發環境搭建

MXNet Windows10系統開發環境搭建 1、安裝Miniconda 下載地址:https://conda.io/miniconda.html   &

mongodb環境搭建

# Mongdb     依賴環境     typing-3.6.4     Markdown-2.1.0     PyYAML-3.12     

CRM第一天:客戶關係管理系統環境搭建和註冊

子曰:學而不思則罔,為了鞏固一下學習的框架知識,同時為了增加對框架的實際應用能力,同時增加專案經驗。從今天開始做一個SSH框架的客戶關係管理系統。 目錄 1.CRM專案(客戶關係管理系統) 1.1CRM的概述(瞭解) 1.2CRM有哪些模組 2.CRM專案環境搭建 2.1

SpringBoot整合MongoDBMongoDB環境搭建

下載MongoDB 下載地址 在D盤下建立目錄 在D:\MongoDB\Data 在D:\MongoDB目錄下解壓下載好的安裝檔案 win+R開啟CMD視窗 進入到bin目錄下 (本人的是D:\MongoDB\mongodb-win32-x86_64-20

ELK日誌分析平臺系統windows環境搭建和基本使用

ELK(ElasticSearch, Logstash, Kibana),三者組合在一起就可以搭建實時的日誌分析平臺啦!   Logstash主要用來收集、過濾日誌資訊並將其儲存,所以主要用來提供資訊。 ElasticSearch是一個基於Lucene的開源分散式搜尋引擎,所以主要用來進行資訊

IntelliJ IDEA 14.1上JFinal開發環境搭建手冊

轉載: http://my.oschina.net/chixn/blog/471755 實測成功 JFinal官方的教程都是使用Eclipse進行開發的,而使用Intellij IDEA來做開發,不少地方和Eclipse區別還是很大的。 本文參考了網上不少文章,主要沿用了

嵌入式Linux系統開發環境搭建流程

宿主機:Host ,嵌入式Linux核心編譯,應用程式編譯的平臺,由Linux伺服器承擔 工作站:用以支援小組專案開發,可選擇Windows或Linux平臺(個人單獨開發時,為節省成本可與宿主機為同一臺計算機) 環境搭建流程: 1、將目標板通過串列埠與工作站進行物理連線

國科大ruby選課原型系統環境搭建(Ubuntu 16.04)

步驟: 1.檢視系統版本 [email protected]:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS R

WINDOWS系統Hadoop環境搭建

第一步,http://hadoop.apache.org/releases.html官網下載安裝檔案 第二步,解壓安裝包 第三步,配置HADOOP-HOME環境變數 右擊我的電腦,單擊“屬性”,進入如圖所示頁面。下面開始配置環境變數,右擊【我的電腦】---【屬性】-----【高階系統設定

WINDOWS系統Scala環境搭建

第一步,先搭建好jdk環境 java -version 、javac 有相應版本資訊即Ok 第二步,下載scala安裝包 https://www.scala-lang.org/download/官網下載 第三步,解壓並設定環境 右擊我的電腦,單擊“屬性”,進入如圖所示頁

阿里雲伺服器Ubuntu系統LAMP環境搭建

1、安裝apache2: sudo apt-get install apache2  檢查是否安裝成功,可以直接訪問ip地址,如果有apache的歡迎頁面就成功了。 2、安裝mysql: sudo apt-get install mysql-server sudo

win10系統Java環境搭建

1.下載JDK 2.安裝JDK 點選更改 可以更改安裝路徑 也可以不更改 點選下一步 之後會出現這樣一個介面 剛才選擇路徑時,預設路徑是:C:\Porgram File\Java\jdk1.8.0_171 這裡的預設路徑是:C:\

window系統 ionic環境搭建,建立打包 android app

之所以寫下這篇部落格都是因為我堂堂天朝上國的牆砌的太高太后了!讓我再ionic環境搭建的路上充滿坎坷!而且網上這方面系統的文件也是少的可憐!所以決定寫下這篇部落格一來是為自己以後再用的時候可以開啟看看,二來可以給想學習ionic但是對環境搭建一頭霧水的初學者提供

cocos2d-x-3.10 之Mac系統Xcode環境搭建教程

                        會出現如下資訊:                                 > 拷貝模板到 /Users/wanglipeng/Desktop/HelloWorld                                 > 拷貝 co

Java秒殺系統專案環境搭建一(Spring Boot)

一,新建maven  project二、導包            在pom.xml中新增,如下圖:相關程式碼請檢視https://projects.spring.io/spring-boot/官網以下是環境配置的所有程式碼package cn.tedu.miaosha.co