MongoDB一般情況下都可以支援主主複制,但是在大部分情況下官方不推薦使用
運作的master - master的準備工作是:
建立存放資料庫檔案的路徑
$mkdir mongodata/mm_28050 mongodata/mm_28051
運作mongodb資料庫,一個端口為:28050,一個為:28051
mongodb/bin/mongod --port 28050 --dbpath ~/mongodata/mm_28050 --master --slave --source localhost:28051 > /dev/null &mongodb/bin/mongod --port 28050 --dbpath ~/mongodata/mm_28050 --master --slave --source localhost:28051 > /dev/null & mongodb/bin/mongod --port 28051 --dbpath ~mongodata/mm_28051 --master --slave --source localhost:28050 > /dev/null &
可以通過ps -ef|grep mongod 或 netstat -an -t來檢查是否運作功能
測試master - master模式:
$ mongodb/bin/mongo --port 28050
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28050/test
type "help" for help
> show dbs
admin
local
> db
test
> db.user.insert({_id:1,username:"Falcon.C",age:25,sex:"M"});
> db.user.find();
{ "_id" : 1, "username" : "Falcon.C", "age" : 25, "sex" : "M" }
> db.user.find(); //在28051端口插入資料後,再來查詢,看資料是否同步
{ "_id" : 2, "username" : "NetOne", "age" : 24, "sex" : "F" }
>
$ mongodb/bin/mongo --port 28051
connecting to: 127.0.0.1:28051/test
> show collections 端口28050已經建立了一個user表并插入了一條資料,這裡多出2表
system.indexes
user
> db.user.find(); //查詢表user發現資料已經同步
> db.user.insert({_id:2,username:"NetOne",age:24,sex:"F"});在此插入資料看資料是否雙向同步
> db.user.find();
本文轉自 不得閑 部落格園部落格,原文連結:http://www.cnblogs.com/DxSoft/archive/2010/10/21/1857359.html ,如需轉載請自行聯系原作者