MongoDB复制数据库的方法有两种:主从复制和副本集。
1. 主从复制(Master-Slave Replication):主从复制是MongoDB最早支持的复制模式,其中一个节点被指定为主节点(Master),负责处理写操作和查询操作,而其他节点被指定为从节点(Slave),只负责复制主节点上的数据。主节点将写操作的操作日志(Oplog)广播给所有从节点,从节点根据Oplog的内容进行数据复制。主从复制适用于只有一个主节点负责写操作,而读操作可以由多个从节点处理的场景。
2. 副本集(Replica Set):副本集是MongoDB推荐的复制方式,它提供了更高的可用性和自动故障转移功能。一个副本集由多个节点组成,其中一个节点被指定为主节点(Primary),负责处理写操作和查询操作,而其他节点被指定为从节点(Secondary),只负责复制主节点上的数据。副本集中还可以配置仲裁节点(Arbiter),用于在主节点故障时选举新的主节点。副本集中的节点通过心跳机制进行通信,以检测主节点是否可用。如果主节点不可用,副本集会自动选举新的主节点,并将所有从节点切换到新的主节点。副本集适用于需要高可用性和数据一致性的场景。
在MongoDB中,可以使用`rs.initiate()`来初始化一个副本集,然后使用`rs.add()`来添加其他节点,最后使用`rs.status()`来查看副本集的状态。