更多文章,欢迎关注作者公众号,欢迎一起交流。

本篇介绍一下MySQL的高可用解决方案——MySQL InnoDB Cluster,其实,该方案并不是全新的架构,它是基于MySQL Group Replication、MySQL Shell和MySQL Router组成。相比较于MySQL原生的异步复制、半同步复制和Group Replication,InnoDB Cluster提供了更好的高可用和扩展特性,而且,当集群中的某一个节点或者少部分节点出现故障时,集群会自动选举主节点,从而继续提供服务,不会影响应用的正常访问,数据库服务达到持续可用的目的。

1 InnoDB Cluster架构

如下图示,一个InnoDB Cluster集群包括三部分,分别是MySQL Group Replication、MySQL Shell和MySQL Router,其中,MySQL Group Replication由多个MySQL实例组成,集群内提供了数据复制机制,且内建故障切换功能;MySQL Shell则主要利用AdminAPI对集群进行自动化管理,AdminAPI 提供多种形式,分别是JavaScript、Python和SQL; MySQL Router是集群的一部分,它是一个轻量级的中间件,用于在应用和后端数据库之间提供透明的路由和负载均衡。

2 InnoDB Cluster使用要求与限制

前面有提到,MySQL Group Replication(MGR)是InnoDB Cluster的一部分,那么使用MGR的要求与限制同样适用于InnoDB集群,比如以下要求与限制:

1)组成集群的MySQL实例必须使用InnoDB存储引擎;

2)数据库表必须具有主键,或者是非空的唯一键;

3)网络需有较好的性能,包括延迟和带宽;

4)唯一的服务器识别符(Server_ID);

5)开启二进制日志记录binlog,且日志格式为行Row格式;

6)开启GTID模式;

7)事务隔离级别须是读提交(READ-COMMITTED);

8)单个复制组中成员个数最大是9个;

9)事务大小限制,建议采用小事务;

10)集群中成员不能是其他集群的成员;

除了以上要求与限制外,还有其他的,具体可参照官网介绍。

3 InnoDB Cluster搭建

InnoDB Cluster的搭建可以采用手动方式(手动搭建MGR),也可以采用Shell自动搭建方式,建议利用MySQL Shell进行搭建,这样会更方便,且不容易出错。搭建过程可参照下面的文档:

关注公众号:看详细内容。

1)MySQL Shell 安装与基本使用

2)使用MySQL Shell搭建MGR环境

3)MySQL Router 安装与基本使用

4)手动搭建MGR环境(MySQL 8.0 高可用之MGR(组复制)介绍)

4 InnoDB Cluster监控

对于InnoDB Cluster的监控,可以使用Shell 的Admin API,常用的命令包括:

1)Cluster.describe()

2)Cluster.status()

3)Cluster.status({extended:1})

MySQL高可用之InnoDB Cluster相关推荐

  1. MySQL高可用架构InnoDB Cluster (和NDB Cluster是两码事)

    MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, Galera Cluster, InnoDB Cluste ...

  2. MYSQL高可用-Percona XtraDB Cluster

    简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1).同步复制,事务要么在所有节点提交或不提交 ...

  3. mysql高可用方案对比

    通常用什么模型来解决mysql高可用性 AsynchronousReplicationAutomaticfailover 其原理是在一条异步复制通道上配置多个可用复制源,当某个复制源不可用时(宕机.复 ...

  4. MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解

    MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解 Percona XtraDB Cluster简称PXC.Percona Xtradb Cluster的实现是在 ...

  5. 108.第十九章 MySQL数据库 -- MySQL高可用 Galera Cluster(十八)

    6.3.3 Galera Cluster 6.3.3.1 Galera Cluster介绍 Galera Cluster:集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的 ...

  6. MySQL高可用的几种方案

    首先我们看看MySQL高可用的几种方案:   对于数据实时性要求不是特别严格的应用,只需要通过廉价的pc server 来扩展Slave 的数量,将读压力分散到多台Slave 的机器上面,即可通过分散 ...

  7. 架构成长之路:常见的五种MySQL高可用方案分析

    1. 概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中 ...

  8. mysql高可用方案MHA介绍

    mysql高可用方案MHA介绍 概述 MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常10-30秒内),完成故障切换,部署MHA, ...

  9. MySQL高可用方案-PXC环境部署记录

    之前梳理了Mysql+Keepalived双主热备高可用操作记录,对于mysql高可用方案,经常用到的的主要有下面三种: 一.基于主从复制的高可用方案:双节点主从 + keepalived 一般来说, ...

最新文章

  1. Struts2与Spring集成中的自动装配策略
  2. ASP.NET Core 3.0 gRPC 双向流
  3. 阿里云服务器排坑指南
  4. Kali Linux 网络扫描秘籍 翻译完成!
  5. AppFuse项目笔记(1)
  6. 关于Webstorm汉化后无法打开设置,谈谈心里的想法
  7. 2021-01-28
  8. MFC使用SaveAs函数保存Excel文件时,弹出“文件已存在”问题
  9. Kolmogorov复杂性 简介
  10. 官方|TensorFlow微信公众号发布
  11. TISAX认证详解来啦!
  12. 使用Excel对国外B2B电商平台进行描述性数据分析
  13. QT qcustomplot 实战经验分享之二:动态时间轴
  14. vmware虚拟机屏幕如何适应窗口全屏
  15. 方框滤波(Box filtering)
  16. 任务整理总结(7.5)
  17. PMI-ACP敏捷管理认证的含金量
  18. Android学习笔记三
  19. AndroidStudio下载的项目不能运行(运行Run图标变灰色,类文件图标为红色J)
  20. GNU Radio 流程图编程(基于 GNU Radio Companion 平台)

热门文章

  1. 基于华为云的人脸识别实验
  2. Flutter 拨打电话
  3. ESP32-CAM 板载摄像头模块进行简单的图像采集和网络传输。
  4. 拼多多新手开店指南及注意事项|一度智信
  5. OpenCV-图像梯度与边缘提取
  6. opencv摄像头闪退问题总结,解决一闪而过的问题
  7. 微积分的本质(五):指数函数求导
  8. certutil 导入 CA 证书
  9. [转]来自微信团队的Apk瘦身经验
  10. stm32定时器时钟以及中间对齐模式