ihuangweiwei 发表于 2013-1-12 13:26:06

MongoDB主从复制

1.主从复制

   主从复制是MongoDB最常用的复制方式。可用于备份、故障恢复、读扩展等。
   最基本的设置方式就是建立一个主节点和一个或者多个从节点,每个从节点要知道主节点的地址。
2.选项

   --only:在从节点上指定只复制特定某个数据库(默认复制所有数据库)。
   --slavedelay:用在从节点,当应用主节点的操作时增加延时(单位为秒)。
   --fastsync:以从节点的数据快照为基础启动从节点。(简单来说以前是主节点的备份,现在从新启动,就会在原来数据的基础上启动,不会重新同步一次主节点的所有数据)。
   --autoresync:如果从节点与主节点不同步了,则自动重新同步。
   --oplogSize:主节点oplog的大小(单位是MB)。
      注:主节点的操作记录称为oplog。oplog存储在一个特殊的数据库中,叫做local。oplog只记录改变数据库状态的操作,如查询操作就不会存储。
 
3.命令

  1.设置主节点(ip:10.0.0.1)

hww@ubuntu:~$ mkdir -p ~/dbs/masterhww@ubuntu:~$ mongod -dbpath ~/dbs/master -prot 27037 -master 

  2.设置从节点(ip:10.0.0.2)

hww@ubuntu:~$ mkdir -p ~/dbs/slavehww@ubuntu:~$ mongod -dbpath ~/dbs/slave -port 27037 -slave -source 10.0.0.1:27037 

  3.通过向sources集合添加主节点信息(ip:10.0.0.3)

hww@ubuntu:~$ mkdir -p ~/dbs/slavehww@ubuntu:~$ mongod -dbpath ~/dbs/slave -port 27037 -slave     向sources集合添加主节点信息:
 
> use localswitched to db local> db.sources.insert({"host":"10.0.0.1:27037"})    查询文档是否插入成功:
 
> db.sources.find(){          "_id" : ObjectId("4edd829376484aaedee08dae"),         "host" : "10.0.0.1:27037", "source" : "main" }


  4.修改从节点的配置,改为10.0.0.4:27037为源,则可以用insert和remove来完成

> db.sources.insert({"host":"10.0.0.4:27037"})> db.sources.remove({"host":"10.0.0.1:27037"})  
 
 
 
 
页: [1]
查看完整版本: MongoDB主从复制