主从复制是MongoDB最常用的复制方式。这种方式非常灵活,可用于备份、故障恢复、读扩展等。
最基本的设置方式就是建立一个主节点和一个或者多个从节点,每个从节点要知道主节点的地址。运行mongod --master就启动了主服务器。运行mongod --slave --source master_address 则启动了从服务器,其中master_address就是上面主节点的地址。
MongoDB的复制至少需要两个服务器或者节点。其中一个是主节点,负责处理客户端请求,其它的都是从节点,负责映射主节点的数据。
主节点记录在其上执行的所有操作。从节点定期轮询主节点获得这些操作,然后对自己的数据副本执行这些操作。由于和主节点执行了
相同的操作,从节点就能保持与主节点的数据同步。
主节点的操作记录成为oplog(operation log)。oplog存储在一个特殊的数据库中,叫做local。oplog就在其中的oplog.$main集合
里面。oplog中的每个文档都代表主节点上执行的一个操作。需要重点强调的是oplog只记录改变数据库状态的操作。比如,查询就
不再存储在oplog中。这是因为oplog只是作为从节点与主节点保持数据同步的机制。

为了方便演示,可以在一台计算机上来模拟主节点和从节点。在D盘创建两个目录master和slave,master目录作为主节点的数据文件的目录,slave目录作为从节点的数据文件的目录。
注意:主节点和从节点要指定不同的端口。
启动主节点:mongod --dbpath d:\master --port 10000 --master
启动从节点:mongod --dbpath d:\slave --port 10001 --slave --source localhost:10000
启动成功后就可以连接主节点进行操作了,而这些操作会同步到从节点。
注意:主节点可以进行增删改查所有操作,而从节点只能进行查询的操作
本文深入探讨MongoDB的主从复制机制,介绍其在备份、故障恢复和读扩展中的应用。通过设置主节点和从节点,实现数据的同步复制。主节点记录所有操作并保存在oplog中,从节点通过轮询主节点获取并执行相同操作,确保数据一致性。
1097

被折叠的 条评论
为什么被折叠?



