主从复制可以用来做数据库的备份,故障恢复,读写分离。
本实验使用Mongodb 3.2版本,我们先查看一下mongod的帮助
[root@localhost data]# mkdir -p /application/mongodb/data/{master,slave}2. 启动master实例
[root@localhost data]# mongod –dbpath=/application/mongodb/data/master/ –port 27017 –master
–master 指定该实例是主服务器 。
3. 启动从实例
[root@localhost ~]# mongod –dbpath=/application/mongodb/data/slave/ –port 27018 –slave –source 127.0.0.1:27017
–slave 指定该实例为从服务器
–source 指定主服务器是谁?
从服务器启动后,即不断的想主服务器请求同步数据
–only arg从节点指定只复制某个特定的数据库(默认复制所有数据库)
–slavedelay arg
指定从服务器延迟多久时间再同步,此选项在主服务器发生人为操作失误时,比较有用。发现错误时,从服务器还没有同步错误。这样可以避免错误的发生。
–autoresync
如果从节点的数据与主节点发生断裂(某些oplog中的数据还未被同步,即被覆盖了),那么该选项将是从节点自动的从新从头开始同步数据库。
下面我们验证一下,数据的同步是否有效。
在主库中插入数据。
mongod 2.4以后的版本使用YAML的格式来编写配置文件。关于主从复制的配置如何在配置文件中声明,官方文件没有给出方法。试了几种写法都不正确。 因为mongodb使用副本集代替了主从复制,从而可能配置文件不再支持主从复制。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!