MongoDB 主从模式
主从模式是MongoDB最早的部署架构。从节点备份数据,在主节点挂了后,可以让从节点接替主节点;也可以做到读写分离,减轻主库压力。
这里演示一下如何配置Mongodb的主从。
1.先启动主节点
mongod --dbpath=E:\mongodb\3.2.9\mongodb\db --logpath=E:\mongodb\3.2.9\mongodb\log\log.txt --logappend --port=27017 --master
2.再启动从节点
mongod --dbpath=E:\mongodb\3.2.9\slaveA\db --logpath=E:\mongodb\3.2.9\slaveA\log\log_slaveA.txt --logappend --port=27018 --slave --source=127.0.0.1:27017
或者,再主节点启动后,手动添加从节点
use local; -- local库的sources集合
db.sources.insert({"host":"127.0.0.1:27017"}); -- 在子节点,指定主节点
OK,主从配置就完成了,是不是很简单?
主从数据同步机制是什么?
心跳的方式同步操作记录表。oplog(operation log)在数据库local的oplog.$main集合中,这个集合记录了每次的写操作
ps:从节点默认是不允许读的,要允许读的话,需要db.getMongo().setSlaveOk();
但是,主从有它很大的局限性,比如:主节点挂了不能自动切换连接,需要手动切换,这时候怎么办呢?