首页 > 技术文章 > MongoDB复制机制实例

maybo 2016-02-06 01:25 原文

  MongoDB的主从复制是一个主可以多从已从又可以为主进行主从复制.在这里就是实现一主一从一个仲裁服务器使用一个数据库服务器通过提供不同的端口.

一.启动一个MongoDB服务名字是application,端口是1234

./mongod --replSet application --dbpath data/node1 --port 1234 --oplogSize 1024


说明启动成功.
二.打开客户端
./mongo --port 1234

三.启动node2,node3

./mongod --replSet application --dbpath data/node2--port 1235 --oplogSize 1024

./mongod --replSet application --dbpath data/node3--port 1236 --oplogSize 1024


四.启动端口是1234的客户端
./mongo --port 1234
五.配置副本
config={_id:"application",members:[]}
config.members.push({_id:0,host:"localhost:1234"})
config.members.push({_id:1,host:"localhost:1235"})
config.members.push({_id:2,host:"localhost:1236",arbiterOnly: true})

返回1说明添加成功
六.rs.isMaster()

七.测试是否实现主从复制
1.在主服务器添加一条记录
1.1 use test
db.user.insert({_id:1,name:"maybo"})


1.2 打开从服务客户端
  ./mongo --port 1235

1.3 查询
use test
db.user.find("{})

发现slaveOk=false当前结点需要明确从结点
1.4 rs.slaveOk()
show collections

说明主从复制已经成功,不过主从复制需要一分种的时间.

推荐阅读