Mongodb的master-slave模式與master-master模式實驗
--Master Slave實驗
--建立資料目錄
$ mkdir /data/1
$ mkdir /data/2
$ mkdir /data/3
--啟動mongodb庫
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --port 27020 --dbpath /data/1 --master &
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --port 27021 --dbpath /data/2 --master &
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --port 27022 --dbpath /data/3 --slave &
--啟動客戶端
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27020
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27020
> use db1
> db.foo.insert({x:1})
> db.foo.insert({x:2})
> exit
$ # master 2
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27021
> use db2
> db.foo.insert({x:999, note:"in db2"})
> exit
$ # configure slave
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27022
> use local
> db.sources.insert({host:"localhost:27020"})
> db.sources.insert({host:"localhost:27021"})
> db.sources.find()
> // wait a little, still connected to slave
> use db1
> db.foo.count()
2
> use db2
> db.foo.find()
{ "_id" : ObjectId("4b8ed00a1d42d47b3afa3c47"), "x" : 999, "note" : "in db2" }
> db.printSlaveReplicationInfo()
=====================================================================================
--Master Master 實驗
--建立資料目錄
$ mkdir /data/m1
$ mkdir /data/m2
-- 啟動伺服器
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --port 27017 --dbpath /data/m1 --master
$ /data/mongodb-linux-i686-1.6.0/bin/mongod --slave --master --dbpath /data/slave --port 10000 --source localhost
--啟動客戶端
$ /data/mongodb-linux-i686-1.6.0/bin/mongo localhost:27017
> z = connect("localhost:10000/test")
> db.foo.insert({x:7});
> z.foo.find()
> db.foo.find()
// 此處master、slave資料同步
> db.foo.insert({x:81});
> db.foo.find()
> z.foo.find()
// 此處master、slave資料同步
> z.foo.insert({x:91});
> db.foo.find()
> z.foo.find()
// 此處不同步,db查不到x為9的資料。跟上記載不一致
> z.foo.remove({x:8});
> db.foo.find()
> z.foo.find()
// 此處不同步,db查到x為8的資料。跟上記載不一致
【】總結:db(master)可以同步到slave,但是slave不能同步到master上。跟doc上不一致。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26230597/viewspace-1103377/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實驗14:代理模式模式
- MongoDB – 使用模式構建之多型模式MongoDB模式多型
- mongodb replicaSet 模式搭建MongoDB模式
- MongoDB - 模式設計MongoDB模式
- 實驗6:原型模式原型模式
- 實驗13:享元模式模式
- 實驗 21:觀察者模式模式
- 圖解CPU的真實模式與保護模式圖解模式
- MongoDB – 使用模式構建之屬性模式MongoDB模式
- JavaScript設計模式與實踐--代理模式JavaScript設計模式
- 【MongoDB】主從複製(Master-Slave Replication)簡單實現MongoDBAST
- 實驗15:職責鏈模式模式
- 實驗 20:備忘錄模式模式
- JavaScript設計模式與實踐–工廠模式JavaScript設計模式
- JavaScript設計模式與實踐--工廠模式JavaScript設計模式
- 重構與模式(二)——釋出訂閱模式與中介者模式實際使用模式
- 《JavaScript設計模式與開發實踐》模式篇(6)—— 命令模式JavaScript設計模式
- 《JavaScript設計模式與開發實踐》模式篇(3)—— 代理模式JavaScript設計模式
- 《JavaScript設計模式與開發實踐》模式篇(2)—— 策略模式JavaScript設計模式
- MongoDB - 資料模型的設計模式MongoDB模型設計模式
- MongoDB規模化的設計模式MongoDB設計模式
- 組合模式(Composite)的安全模式與透明模式模式
- 《JavaScript設計模式與開發實踐》模式篇(7)—— 組合模式JavaScript設計模式
- 《JavaScript設計模式與開發實踐》模式篇(8)—— 模板方法模式JavaScript設計模式
- 《JavaScript設計模式與開發實踐》模式篇(5)—— 觀察者模式JavaScript設計模式
- 《JavaScript設計模式與開發實踐》模式篇(4)—— 迭代器模式JavaScript設計模式
- 《JavaScript設計模式與開發實踐》模式篇(1)—— 單例模式JavaScript設計模式單例
- 《JavaScript設計模式與開發實踐》模式篇(13)—— 狀態模式JavaScript設計模式
- 《JavaScript設計模式與開發實踐》模式篇(11)—— 中介者模式JavaScript設計模式
- 《JavaScript設計模式與開發實踐》模式篇(9)—— 享元模式JavaScript設計模式
- 設計模式——抽象工廠實驗設計模式抽象
- 11.6實驗11:裝飾模式模式
- 11.7實驗12:外觀模式模式
- 11.5實驗10:組合模式模式
- Proxy模式與Decorator模式的區別模式
- NET Core 多身份校驗與策略模式模式
- 《JavaScript設計模式與開發實踐》模式篇(14)—— 介面卡模式JavaScript設計模式
- 《JavaScript設計模式與開發實踐》模式篇(12)—— 裝飾者模式JavaScript設計模式