01.介绍

MongoDB有主从、副本、鉴权模式。

而主从模式官方目前不推荐了,取而代之的是副本集模式,参照:https://docs.mongodb.com/v3.4/core/master-slave/;主从模式,雷同mysql的主从模式,由主master写入数据,同步到slave库,而从slave只有只读模式,假如主模式宕机,那么就要手动切换从模式到主模式。

官方推荐使用副本集模式,副本集是互为主从的模式,雷同mysql的主主模式(这里只有一个主可写),多个服务器保存同一份数据,可自动切换故障。

分片模式是处理大量的数据,将数据分开存储,每一个服务器的数据是不一样的,他们的总体就是他们的整体数据。

02.主从模式

2.1 主从模式的原理

主节点的操作记录为oplog,oplog存在mongodb库的local库的集合oplog.$main中,这个集合都是主节点操作的记录。从库会从主库的oplog中获取oplog的数据在从库的本机执行一遍,新的覆盖旧的数据。

> use local

switched to db local

> show collections

me

oplog.$main

sources

startup_log

2.2 主从模式例子

主:192.168.0.21:27017

从:192.168.0.22:27017

安装:

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

sudo apt-get update

sudo apt-get install -y mongodb-org

主从启动:

$ sudo mongod -master -dbpath /var/lib/mongodb --主启动

$ sudo mongod -slave -dbpath /var/lib/mongodb -source 192.168.0.21:27017 --从启动

数据测试:

主插入数据:

> db.user.find()

> db.user.insert({name:'maitest'})

WriteResult({ "nInserted" : 1 })

> db.user.find()

{ "_id" : ObjectId("5c750f84b278a5a72c9f4959"), "name" : "maitest" }

设置从,并查看数据:

> rs.slaveOk()

> db.user.find()

{ "_id" : ObjectId("5c750f84b278a5a72c9f4959"), "name" : "maitest" }

主从手动故障切换:

$ sudo mongod -master -dbpath /var/lib/mongodb --原从启动[192.168.0.21]

$ sudo mongod -slave -dbpath /var/lib/mongodb -source 192.168.0.22:27017 --原主启动[192.168.0.22]

$ sudo mongod -slave -dbpath /var/lib/mongodb -source 192.168.0.22:27017 --autoresync --出现dead时要加这个参数,因为数据差异大,自动重新同步

03.副本集模式

3.1 副本集原理

副本集是主从的升级,可以做自动故障切换,提高了容错性。官方推荐至少三个成员(需要一个仲裁者[Arbiter不具备副本数据,只是投票者,也不能成为主],一主,一从),[参照https://docs.mongodb.com/v3.4/core/replica-set-members/],最多按照官方版本不一样设计。mongodb3.0.0以前是最多12个,3.0.0后50个,7个仲裁者。

3.2 搭建副本模式

参照:https://docs.mongodb.com/v3.4/tutorial/deploy-replica-set/

master:192.168.0.21:27017

slave1:192.168.0.22:27017

slave2:192.168.0.23:27017

具体 【 副本集 】操作参照:https://www.mairoot.com/?p=2225

mysql主从 副本集,MongoDB的主从、副本集模式相关推荐

  1. mysql主从 副本集_MongoDB主从复制和副本集

    MongoDB有主从复制和副本集两种主从复制模式,主从复制最大的问题就是无法自动故障转移,MongoDB副本集解决了主从模式无法自动故障转义的特点,因此是复制的首选. 对于简单的主从复制无法自动故障转 ...

  2. mongodb 复制集部署(主从升级版)

    前言: 有一个使用 mongodb 做数据库的项目要上生产了,所以在生产环境规划了两台机器用于搭建数据库主从,但是调研搭建的过程中发现主从模式还是有些缺陷,mongodb 提供了另一种复制模式替代主从 ...

  3. MongoDB 分片(sharding)+副本集(replSet)集群搭建

    文章目录 MongoDB安装 Windows平台安装 1.下载 2.安装 3.启动MongoDB服务 4.进入MongoDB后台 Linux平台安装MongoDB 1.下载 2.安装 3.创建数据库目 ...

  4. mysql主从 查询负载_MySQL集群:主从数据库配置 实现查询负载

    在做web应用系统中,如果数据库出现了性能瓶颈,而你又是使用的MySQL数据库,那么就可以考虑采用数据库集群的方式来实现查询负载了.因为一般来讲任何一个系统中数据库的查询操作比更新操作要多的多,因此通 ...

  5. linux下mongdb绑定ip,Linux下MongoDB安装及副本集配置 | 聂扬帆博客

    最近开始接触了MongoDB的安装配置,易部署.易使用,存储数据非常方便是它的特点. 0x00  副本集原理 MongDB副本集故障转移功能得益于它的选举机制.选举机制采用了Bully算法,可以很方便 ...

  6. mysql 集群与主从_Mysql集群和主从

    1.Mysql cluster: share-nothing,分布式节点架构的存储方案,以便于提供容错性和高性能. 需要用到mysql cluster安装包,在集群中的每一个机器上安装. 有三个关键概 ...

  7. mongodb MySQL主从_MongoDB实战系列之三:MongoDB的主从部署

    主从同步: md01    10.0.0.11        master md02    10.0.0.12        slave md03    10.0.0.14        slave ...

  8. MongoDB 复制(副本集)学习

    MongoDB 复制(副本集)学习 replication set复制集, 复制集,多台服务器维护相同的数据副本,提高服务器的可用性. MongoDB复制是将数据同步在多个服务器的过程. 复制提供了数 ...

  9. MySQL集群中主从切换

    第一种情况:主机未宕机.正常切换 第一步,停止主从操作 在从机上执行, SHOW PROCESSLIST 发现Has read all relaylogwaiting for the slave I/ ...

  10. MySQL集群:主从模式

    目录 1.mysql主从复制用途 2.主从部署必要条件 3.主从模式实现原理 3.1.主从复制 3.2.半同步复制 3.3.并行复制 3.3.1.MySQL5.6并行复制原理 3.3.2.MySQL5 ...

最新文章

  1. 昊天善圈浅谈比特币这个类型区块链应用技术的特点及作用
  2. 2017.4.24 js 中的iscroll
  3. 如何检查某个用户是否具有某个权限对象上定义的某种权限
  4. 重磅!微软发布新一代 Teams 开发工具 —— Teams Toolkit!不止VS Code extension!
  5. 《团队激励与沟通》第 2 讲——激励的方法与应用 重点部分总结
  6. 在Github和oschina上搭建自己的博客网站
  7. Nacos长连接诉求分析
  8. c# 静态构造函数与私有构造函数共存
  9. 【NLP】学不会打我 半小时学会基本操作 13 孪生网络
  10. Markdown 语法大全 包括设置字体 颜色
  11. Grand Theft Auto V 图形研究(2)
  12. JMF(java media framework)综述
  13. 找技术公司开发小程序需要注意些什么?
  14. Android缓冲进度条或加载进度条
  15. 安装pandas及相关包的经验(对同款问题有用)
  16. 关于office2016卸载后注册表残留无法重新安装问题解决
  17. 360手机官方刷机教程(N6系列+N7系列通用)
  18. MySQL执行成本是如何计算的?
  19. 网络工程(物联网技术方向)专业人才培养方案
  20. Error: NativeLink simulation flow was NOT successful

热门文章

  1. ubuntu14.04 caffe安装前先要将gcc版本降到4.7.x
  2. 172篇文献:NUS颜水成等发布首篇《深度长尾学习》综述
  3. 一周3篇顶刊!颜宁团队今年已发5篇Science/PNAS等顶级论文
  4. 机器人收集 + Keypose 算法:准确估计透明物体的 3D 姿态
  5. 基础:新建个maven项目
  6. [算法]机器人运动范围
  7. Linux 初始化系统 systemd - journald 日志
  8. Delphi读写UTF-8、Unicode格式文本文件
  9. Access 至少一个参数没有被指定值 解决方法
  10. asp.net 2.0中的defaultulr属性