mysqlinnodb数据存储格式(MySQL InnoDB ReplicaSet副本集简单介绍)
mysqlinnodb数据存储格式
MySQL InnoDB ReplicaSet副本集简单介绍01 InnoDB ReplicaSet(副本集)介绍
在MySQL8.0引入了InnoDB ReplicaSet,它提供了我们熟悉的复制特性,如果有mongodb副本集的概念,理解InnoDB ReplicaSet会比较容易。
InnoDB ReplicaSet使用了下面的技术:
1、MySQL Shell,一个功能更强大的客户端
2、MySQL Router,一个轻量级别的中间件,可以类比MongoDB中的mongos的角色;
3、MySQL Server,也就是MySQL服务
InnoDB ReplicaSet,下面简称 innodb副本集。它采用了MySQL的复制技术,副本集中拥有一个primary节点,一个或者多个secondary节点,它不像innodb cluster(innodb cluster是另外一种MySQL高可用方案)一样提供故障自愈和多主模式,但是提供手工的方法添加、移除和配置相关节点。
我们通常使用MySQL Shell中的AdminApi来管理innodb副本集,adminapi有js和python两种版本,我们可以很方便的去编写脚本来自动部署MySQL,AdminAPI为MySQL实例集提供了一个有效的现代接口,使您能够从一个中心工具提供、管理和监视部署。
innodb副本集支持MySQL Clone组件,我们可以利用克隆插件很方便的搭建起来一个副本集。
InnoDB ReplicaSet与MySQL Router紧密集成,可以使用AdminAPI与它们一起工作。MySQL Router可以基于InnoDB ReplicaSet自动配置自己,这个过程称为bootstrapping,这样就不需要手动配置路由。
02 InnoDB ReplicaSet的限制
上面介绍了innodb 副本集的一些基本知识和概念,这里我们有必要说一下它的局限性,innodb副本集的局限性,主要是对比innodb cluster来体现出来的,下面我们罗列一下:
1、没有故障自动切换功能。在主库不可用的情况下,需要使用AdminApi手动触发故障转移;
2、无法防止由于意外或者不可用而导致的数据丢失,发生故障时候没有应用的事务可能有丢失现象;
3、无法防止意外退出之后的数据不一致现象;在主节点因为网络问题而短暂失联时候,如果某个从节点提升为主节点,则可能发生脑裂现象;
4、innodb 副本集不支持多主模式,经典的多主写入复制方案无法保证数据一致性;
5、innodb副本集基于异步复制,不能像MGR那样进行流控,因此读的扩展性会一定程度上受限;
6、所有secondary都要从primary复制,因此可能会对源实例产生一定的影响
从上面的描述中不难看出,innodb副本集跟MongoDB的副本集还有很大的差距,但是我们依然有研究的必要,因为它是MySQL官方在高可用之路上迈出的重要一步,后续随着版本的迭代,我相信这些问题会得到关注和解决,有更好的方案进一步满足用户的要求。
03 部署前须知
innodb副本集的运行环境有一定的要求,如下:
1、仅支持MySQL8.0及以上版本;
2、仅支持GTID的复制方法
3、仅支持row格式的binlog,不支持statement格式的binlog
4、不支持复制过滤器
5、不允许建立额外的复制通道
6、副本集primary节点只有一个,secondary节点可以有多个,MySQL Router会对每个节点进行监控
7、副本集必须完全由MySQL Shell管理,不支持在MySQL Shell之外对实例进行配置和更改
下一篇文章我将会从最基本的安装过程说起,详细描述MySQL Shell、MySQL Router的安装以及innodb 副本集的搭建过程。
以上就是MySQL InnoDB ReplicaSet(副本集)简单介绍的详细内容,更多关于MySQL InnoDB ReplicaSet(副本集)的资料请关注开心学习网其它相关文章!
原文链接:https://mp.weixin.qq.com/s/VS2HSy36_z9I7uyTTck_-A
- docker查找redis配置文件(解决docker重启redis,mysql数据丢失的问题)
- mysql索引面试总结(Mysql数据库索引面试题程序员基础技能)
- mysql中查询数据合并(Mysql合并结果接横向拼接字段的实现步骤)
- mysql8.0.12安装教程图解(MySql8.023安装过程图文详解首次安装)
- docker运行redis并操作(Docker安装MySQL和Redis的方法步骤)
- mysql 分片键规则(MySql8 WITH RECURSIVE递归查询父子集的方法)
- mysql如何解决主从延迟(MySQL主从延迟问题解决)
- 创建数据库入门教程mysql(MySQL数据库安装教程一学就会)
- 查询mysql 死锁(MySQL线上死锁分析实战)
- dockerfile构建mysql镜像并初始化(docker-compose基于MySQL8部署项目的实现)
- mysql 死锁产生的原因和必要条件(Mysql查看死锁与解除死锁的深入讲解)
- mysql cache(MySQL取消了Query Cache的原因)
- 怎么看mysql有没有外键约束(MySQL外键约束的实例讲解)
- mysql 删除数据回收空间(浅谈为什么MySQL不建议delete删除数据)
- mysql 查询语句group by用法(MySQL group by和order by如何一起使用)
- mysql索引原理及使用(再有人问你MySQL索引原理,就把这篇文章甩给他!)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
- 七年前的这部剧有毒,全剧只有女主红到发紫,男主至今无人认识(七年前的这部剧有毒)
热门推荐
- html为什么视频不能自动播放(html5中嵌入视频自动播放的问题解决)
- react 分页列表优化(使用react-beautiful-dnd实现列表间拖拽踩坑)
- pythonpandas使用攻略(详解Python中pandas的安装操作说明傻瓜版)
- thinkphp导入excel(Yii框架使用PHPExcel导出Excel文件的方法分析改进版)
- Linq中的TakeWhile和SkipWhile
- 有固定ip怎样设置云服务器(云服务器换ip难不难?云服务器换IP的步骤)
- 数据推入阿里云rds(将阿里云RDS中的数据库迁移到本机自建数据库的可用过程RDS数据迁移)
- python闭包的讲解(详解python函数的闭包问题内部函数与外部函数详述)
- python中匿名函数关键字(浅谈python之高阶函数和匿名函数)
- docker主机路径与容器路径(Docker容器没有权限写入宿主机目录的解决方案)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9