设为首页 收藏本站
查看: 865|回复: 0

[经验分享] mongodb 3.4复制搭建

[复制链接]

尚未签到

发表于 2017-12-15 09:40:10 | 显示全部楼层 |阅读模式
  mongodb数据库主从复制的原理:
  在主从结构中,主节点的操作记录称为oplog(operation log)。oplog存储在一个系统数据库local的集合oplog.$main中,这个集合的每个文档都代表主节点上执行的一个操作。
  可以通过以下语句查询:
  db.oplog.$main.find()
  从服务器会定期从主服务器中获取oplog记录,然后在本机上执行!对于存储oplog的集合,MongoDB采用的是固定集合,也就是说随着操作过多,新的操作会覆盖旧的操作!
  主从复制的一些设置:
  –only 从节点指定复制某个数据库,默认是复制全部数据库
  –slavedelay 从节点设置主数据库同步数据的延迟(单位是秒)
  –fastsync 从节点以主数据库的节点快照为节点启动从数据库
  –autoresync 从节点如果不同步则从新同步数据库(即选择当通过热添加了一台从服务器之后,从服务器选择是否更新主服务器之间的数据)
  –oplogSize 主节点设置oplog的大小(主节点操作记录存储到local的oplog中)
  1:首先确认一下我们已经有了这个环境了:
  

mongodb数据库1 localhost:27017  
mongodb数据库2 localhost:27018
  

  2:修改配置文件
  

vi mongodb27018.conf  

  加入以下几个参数
  

bind_ip = 127.0.0.1 #从数据库所在服务器  
source = 127.0.0.1:27017 #确定主数据库端口
  
slave = true #确定自己是从服务器
  
vi mongodb27017.conf
  
加入以下参数
  
bind_ip = 127.0.0.1 #主数据库所在服务器
  
master = true #确定我是主服务器
  

  3:重启两天mongodb数据库
  进入数据库
  

use admin  
db.shutdownServer()
  

  关闭后重新启动数据库
  4:从节点登陆
  mongodb 127.0.0.1:27108
  show dbs
  返回错误,因为从节点不可读,然后执行下面语句OK
  在从节点上执行rs.slaveOk()
  或者在主节点上执行db.getMongo().setSlaveOk()
  5:开始验证数据
  主库添加数据:
  mongodb 127.0.0.1:27107
  use maxiangqian
  db.student.insert({"name":"maxiangqian"})
  从库验证数据:
  use maxiangqian
  db.student.find()
  发现数据已经同步了
  6:查看同步状态
  rs.printReplicationInfo()
  官网给的解释:
  1:启动master:mongod --master --dbpath /data/masterdb/
  2:启动slave:mongod --slave --source <masterhostname><:<port>> --dbpath /data/slavedb/
  3:从库添加:
  use local
  db.sources.find()
  db.sources.insert( { host: <127.0.0.1:27107> } );
  删除复制的联系:
  直接在从库执行:
  use local
  db.sources.remove({“host”:”127.0.0.1:8888”})

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424271-1-1.html 上篇帖子: MongoDB之TextSearch简介 下篇帖子: mongodb存储二进制数据的二种方式——binary bson或gridfs
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表