位置: 编程技术 - 正文
推荐整理分享MongoDB 主从复制实例讲解(mongodb主从复制和副本集架构有什么联系和区别),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mongodb 主从复制 删除不同步,mongodb主从复制状态,mongodb主从复制原理,mongodb主从复制和副本集,mongodb主从复制原理,mongodb主从复制和副本集的区别,mongodb主从复制和副本集,mongodb 主从复制模式搭建,内容如对您有帮助,希望把文章链接给更多的朋友!
主从复制可以用来做数据库的备份,故障恢复,读写分离。
本实验使用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 --master
--master 指定该实例是主服务器 。
3. 启动从实例
[root@localhost ~]# mongod --dbpath=/application/mongodb/data/slave/ --port --slave --source .0.0.1:
--slave 指定该实例为从服务器--source 指定主服务器是谁?
从服务器启动后,即不断的想主服务器请求同步数据
至此,主从复制已经配置完成,就是这么的简单。
对于从服务器,还有三个参数需要解释一下。
--only arg
从节点指定只复制某个特定的数据库(默认复制所有数据库)
--slavedelay arg
指定从服务器延迟多久时间再同步,此选项在主服务器发生人为操作失误时,比较有用。发现错误时,从服务器还没有同步错误。这样可以避免错误的发生。
--autoresync
如果从节点的数据与主节点发生断裂(某些oplog中的数据还未被同步,即被覆盖了),那么该选项将是从节点自动的从新从头开始同步数据库。
下面我们验证一下,数据的同步是否有效。在主库中插入数据。
登录从数据库,检查数据是否同步
可以看到数据已经同步啦~
默认情况下,要想在从库开启查询功能,必须告知服务器,你接受从服务器的数据(有可能同步有延迟,数据不一致,你能够接受这种不一致)
执行rs.slaveOK
在从服务的local数据库中有个sources集合,记录了主服务的信息
我们再次启动从库时,就无需指定source参数啦。
主从库之间利用oplog日志进行同步。oplog存在于主库的local数据库,oplog.$main集合。
该集合属于固定集合。在一定时间后,旧日志会被覆盖。如果日志已经被覆盖,从库还没有来的及同步。那么从库就无法再同步数据了。只有使用--autoresync让其重新同步数据。
备注:命令行参数指定的参数值,可以写到config文件中,启动时使用
mongod --config /path/to/file.conf
mongod 2.4以后的版本使用YAML的格式来编写配置文件。关于主从复制的配置如何在配置文件中声明,官方文件没有给出方法。试了几种写法都不正确。 因为mongodb使用副本集代替了主从复制,从而可能配置文件不再支持主从复制。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
浅析Mongodb性能优化的相关问题 前言如何能让软件拥有更高的性能?我想这是一个大部分开发者都思考过的问题。性能往往决定了一个软件的质量,如果你开发的是一个互联网产品,
mongodb 3.2.5安装详细过程 1.准备安装介质安装介质下载:mongodb的安装方式,我通常使用二进制包的方式,内网不能配置连接外网的yum源;官方建议的mongodb下载地址为:Downloads.mon
Mongodb 启动命令mongod参数说明(中文翻译) 在开始学习Mongodb的时候,用到命令经常会网上查找,为了方便自己做了一个文档,随时查看,这样方便多了!嘿嘿!带中文翻译。Mongodb启动命令mongod参
友情链接: 武汉网站建设