MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能。它采用了NDB Cluster存储引擎,允许在1个群集中运行多个MySQL服务器。

初步掌握MySQL集群原理是我们学习MySQL集群要迈出的第一步。

数据更新使用读已提交隔离级别(read-committedisolation)来保证所有节点数据的一致性,使用两阶段提交机制(two-phasedcommit)保证所有节点都有相同的数据(如果任何一个写操作失败,则更新失败)。无共享的对等节点使得某台服务器上的更新操作在其他服务器上立即可见。传播更新使用一种复杂的通信机制,这一机制专用来提供跨网络的高吞吐量。通过多个MySQL服务器分配负载,从而最大程序地达到高性能,通过在不同位置存储数据保证高可用性和冗余。

那么MySQL集群是如何存储数据的呢?MySQLcluster数据节点组内主从同步采用的是同步复制,来保证组内节点数据的一致性。一般通过两阶段提交协议来实现,一般工作过程如下:

  • Master执行提交语句时,事务被发送到slave,slave开始准备事务的提交。
  • 每个slave都要准备事务,然后向master发送OK(或ABORT)消息,表明事务已经准备好(或者无法准备该事务)。
  • Master等待所有Slave发送OK或ABORT消息

如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;

  • 如果Master收到来自任何一个Slave的ABORT消息,它就向所有 Slave发送ABORT消息,告诉Slave去中止事务。
  • 每个Slave等待来自Master的OK或ABORT消息。

如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;

如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。

  • 当Master收到来自所有Slave的确认后,就会报告该事务被提交(或中止),然后继续进行下一个事务处理。

由于同步复制一共需要4次消息传递,故MySQL cluster的数据更新速度比单机MySQL要慢。所以MySQL cluster要求运行在千兆以上的局域网内,节点可以采用双网卡,节点组之间采用直连方式。

MySQL 群集分为三种节点:管理节点,数据节点和SQL节点。

  1. 管理节点:主要用于管理各个节点,能够通过命令对某个节点进行重启、关闭、启动等操作。也能够监视全部节点的工作状态。
  2. 数据节点:主要是对数据的存储,不提供其他的服务。
  3. SQL节点:主要是对外提供SQL功能,类似一台普通的 MySQL Server。

而SQL节点和数据节点可以是同一台机器,也就是说这台机器即是SQL节点也是数据节点。它们只是逻辑关系上的划分,实际部署时,甚至所有的阶段都可以位于同一台物理机器上,只是配置较复杂些。

随着计算机和信息技术的迅猛发展和普及,行业应用系统的规模迅速扩大,行业应用所产生的数据量量呈爆炸式增长,类似于MySQL集群这样的技术得到了广泛的运用,MySQL集群原理的运用就显得尤其重要。

对于MySQL集群技术的应用场景有着详细的介绍,能够有效帮助我们学以致用,主要从MySQL集群架构解析到架构部署再到集群架构测试,一步步带你部署企业级的MySQL数据库集群项目,熟悉各个环节技术点,提升数据库架构设计能力。

  • MySQL集群实战入门学习教程

课程目录

•001.MySQL集群视频教程:主从复制介绍

•002.MySQL集群视频教程:主从复制结构

•003.MySQL集群视频教程:主从复制流程原理

•004.MySQL集群视频教程:多实例安装

•005.MySQL集群视频教程:多实例链接

•006.MySQL集群视频教程:一主多从-配置

•007.MySQL集群视频教程:-一主多从测试

•008.MySQL集群视频教程:双主双从配置

•009.MySQL集群视频教程:双主双从测试

•010.MySQL集群视频教程:多数据源-环境搭建

•011.MySQL集群视频教程:多算数据源实现

•012.MySQL集群视频教程:修复MySLQ主从复制

•013.MySQL集群视频教程:多数据源的问题

•014.MySQL集群视频教程:动态数据源

•015.MySQL集群视频教程:动态数据源执行流程

•016.MySQL集群视频教程:SpringBoot集成多数据源

•017.MySQL集群视频教程:SpringBoot集成多数据源问题

•018.MySQL集群视频教程:SpringBoot集成动态数据源

什么是MySQL集群?带你全面掌握MySQL集群原理相关推荐

  1. MySQL之自带四库之mysql库

    一.概述 Mysql5.7版本自带4个数据库,information_schema.mysql.performance_schema.sys.其中mysql库是MySQL的核心数据库,类似于sql s ...

  2. mysql mgr简介_mysql8.0初探:(二)MySQL Group Replication-MGR集群简介

    mysql8.0初探:(二)MySQL Group Replication-MGR集群简介 发布时间:2020-06-12 23:59:17 来源:51CTO 阅读:49832 作者:arthur37 ...

  3. 【MySQL】MySQL 存储引擎、索引、锁、集群

    MySQL存储引擎 MySQL体系结构 体系结构的概念任何一套系统当中,每个部件都能起到一定的作用! MySQL的体系结构 体系结构详解 客户端连接 支持接口:支持的客户端连接,例如C.Java.PH ...

  4. CentOS 7安装MySQL集群-GALERA CLUSTER 4 FOR MYSQL 8 RELEASE

    CentOS 7安装MySQL集群-GALERA CLUSTER 4 FOR MYSQL 8 RELEASE 文章目录 CentOS 7安装MySQL集群-GALERA CLUSTER 4 FOR M ...

  5. MySQL 集群(三):MySQL + Mycat 实现读写分离,主备切换集群

    MySQL 集群(三):MySQL + Mycat 实现读写分离,主从切换集群 下载 Mycat Mycat 主要文件 端口 Mycat 命令 配置文件 server.xml schema.xml 配 ...

  6. MySQL数据库集群之PXC方案---安装pxc集群

    1. 准备工作 1.1 准备虚拟机 因为我们要实现的是三台mysql节点集群,所以准备3台虚拟机 192.168.1.173 192.168.1.174 192.168.1.166 1.2 下载pxc ...

  7. 搭建pxc集群时需要先安装mysql么_完美起航-高可用MySQL数据库之PXC集群

    高可用MySQL数据库之PXC集群 前言 在上一篇文章介绍了时下流行的几种数据库产品后(公众号发送"NewSQL"查看),有不少小伙伴表示对自动集群的数据库感兴趣,特别是Cockr ...

  8. Hadoop集群搭建(七:MySQL的安装配置)

    实验 目的 要求 目的: 1.掌握MySQL在集群平台中的安装 要求: 完成MySQL的集群版的安装: MySQL集群的相关服务进程能够正常启动: MySQL集群的SQL服务能够作为系统服务开机自动启 ...

  9. docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)

    docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器) 2019年01月27日 21:06:12 博陵精骑 阅读数:794 标签: dockerelasti ...

  10. mysql8集群的优点_介绍 MySQL 8 中值得关注的新特性和改进。

    窗口函数(Window Functions):从 MySQL 8.0 开始,新增了一个叫窗口函数的概念,它可以用来实现若干新的查询方式.窗口函数与 SUM().COUNT() 这种集合函数类似,但它不 ...

最新文章

  1. windows mobile做一个摄象头预览程序
  2. 光流 | 基于光流法检测跟踪视频中的汽车
  3. php jquery ajax裁剪图照片,php+jquery+ajax无刷新图片上传裁切,模拟flash头像上传实例...
  4. bzoj1833: [ZJOI2010]count 数字计数USACO37 Cow Queueing 数数的梦(数位DP)
  5. mysql master host_mysql异步备份的有关问题,MASTER_HOST可否指定多个
  6. python struct pack解析_Python struct 详解
  7. Android 杂七杂八记录
  8. 前端要点总结1(2021-12)
  9. ArcGIS制图中参考比例尺
  10. js获取粘贴的html,JS读取粘贴板内容
  11. 20X01 FCPX插件 音频可视化视觉特效 PFS Fcpx Audio Effector
  12. Web字体应用修炼之道(上)
  13. 使用SpringBoot一小时快速搭建一个简单后台管理(后端篇)
  14. 3点内容介绍什么是物联网模组
  15. Kotlin快速学习之路(完整版)
  16. 基于iLog3的实时日志实现
  17. 2008-2020年各省地方债务余额数据(wind)
  18. js复制文本(带文本格式or不带文本格式)
  19. 西班牙航行家眼中的明朝中国
  20. 自制Arduino Leonardo笔记

热门文章

  1. MATLAB数字水印处理技术的实现
  2. 常用视频像素格式 YUV422 YUV420
  3. 电子签的背后江湖:腾讯、蚂蚁、字节跳动的较量
  4. 简单有限元分析技术(详细步骤讲解)
  5. sublime python快捷键
  6. 网络工程专业大学生,需要考HICE吗?
  7. 启动mongodb时发现错误libcrypto.so.10
  8. metabase开源BI
  9. python开源bi_推荐一套开源BI工具?
  10. sw槽钢插件_SolidWorks所有实用插件详解一览