【第 8 章 MySQL InnoDB ClusterSet 】

news2024/9/27 9:24:05

【第 8 章 MySQL InnoDB ClusterSet 】

文章目录

  • 【第 8 章 MySQL InnoDB ClusterSet 】
    • 本章内容
    • 本章简介

本章内容

8.1 InnoDB ClusterSet 要求
8.2 InnoDB ClusterSet 限制
8.3 User Accounts for InnoDB ClusterSet
8.4 Deploying InnoDB ClusterSet
8.5 Integrating MySQL Router With InnoDB ClusterSet
8.6 InnoDB ClusterSet Status and Topology
8.7 InnoDB ClusterSet Controlled Switchover
8.8 InnoDB ClusterSet Emergency Failover
8.9 InnoDB ClusterSet Repair and Rejoin
8.10 Upgrade InnoDB ClusterSet

本章简介

MySQL InnoDB ClusterSet 通过将主 InnoDB Cluster 与位于不同位置(例如不同的数据中心)的一个或多个副本链接起来,为 InnoDB Cluster 部署提供了容灾能力。InnoDB ClusterSet 使用专用 ClusterSet 复制通道自动管理从主集群到副本集群的复制。如果主群集由于数据中心丢失或与之失去网络连接而变得不可用,则可以将副本群集激活以恢复服务的可用性。有关部署 InnoDB Cluster的信息,请参阅 第7章 MySQL InnoDB Cluster 。

InnoDB ClusterSet 部署中的主 InnoDB 集群和副本集群之间的紧急故障切换可由管理员通过 MySQL Shell ,使用 MySQL Shell 附带的 AdminAPI(参见 第6.1节 “使用MySQL AdminAPI”)触发。您还可以在主群集仍然可用时(例如,如果需要对主群集进行配置更改或维护),执行从主群集到副本群集的受控切换。MySQL Router 自动将客户端应用程序路由到 InnoDB ClusterSet 部署中的正确集群。

InnoDB ClusterSet 部署中的副本集群不能脱离主集群,而它仍然是被动副本,因为它不接受写入。它可以由应用程序读取,尽管异步复制通常会有一定的复制延迟,因此数据可能还不完整。副本群集的最小大小是单个成员服务器实例,但为了容错,建议至少三个成员。如果需要更多成员,例如,因为副本集群通过切换或故障切换成为主集群,您可以随时使用 AdminAPI 通过 MySQL Shell 添加更多实例。InnoDB ClusterSet 部署中可以拥有的副本集群数量没有定义的限制。

下图中的示例 InnoDB ClusterSet 部署包括位于罗马数据中心的主 InnoDB 集群,以及位于里斯本和布鲁塞尔数据中心的副本集群。主集群及其副本集群均由三个成员服务器实例组成,一个主服务器实例和两个辅助服务器实例。

图 8.1 InnoDB ClusterSet 概览
图 8.1 InnoDB ClusterSet 概览

异步复制通道将事务从主集群复制到副本集群。在 InnoDB ClusterSet 创建过程中,会在每个集群上设置一个名为clusterset_replication的 ClusterSet 复制通道,当集群是副本时,它会使用该通道从主集群复制事务。底层组复制技术管理通道,并确保复制始终在主集群的主服务器(作为发送方)和副本集群的主要服务器(作为接收方)之间进行。如果为主集群或副本集群选择了新的主服务器,则会在它们之间自动重新建立 ClusterSet 复制通道。

尽管示例 InnoDB ClusterSet 部署中的每个集群都有一个主 MySQL 服务器,但只有主 InnoDB 集群的主服务器接受来自客户端应用程序的写入流量。副本群集不会。 MySQL 路由器实例将所有写入流量路由到罗马数据中心的主集群,由主服务器处理。大多数读取流量也会路由到主集群,但仅发出读取请求的报告应用程序会专门路由到其本地数据中心的副本集群,以节省网络资源。请注意,处理读写流量的 MySQL Router 实例被设置为将流量路由到 InnoDB ClusterSet 中的主 InnoDB 集群,无论是哪一个。因此,如果其他集群中的一个在受控切换或紧急故障切换后成为主集群,则这些 MySQL Router 将将流量路由至该集群。

重要的是要知道 InnoDB ClusterSet 将可用性优先于数据一致性,以最大限度地提高容灾能力。每个 InnoDB 集群内的一致性由底层组复制技术保证。但是,正常的复制延迟或网络分区可能意味着在主群集遇到问题时,一些或所有副本群集与主群集不完全一致。在这些情况下,如果您触发紧急故障切换,任何未复制或不同的事务都有丢失的风险,只能手动恢复和协调(如果可以访问)。无法保证在发生紧急故障切换时数据会被保留。

因此,在触发紧急故障切换之前,应始终尝试修复或重新连接主群集。 AdminAPI 消除了直接使用 Group Replication 修复 InnoDB 群集的需要。如果无法快速修复主集群或无法访问主集群,您可以继续紧急故障切换到副本 InnoDB 集群,以恢复应用程序的可用性。在受控切换过程中,数据一致性得到保证,原始主集群降级为工作的只读副本集群。但是,在紧急故障切换过程中,无法保证数据的一致性,因此为了安全起见,在故障切换过程中将原始主群集标记为无效。如果原始主群集保持联机,则应在联系到它后立即关闭。

如果没有问题,并且事务集与拓扑中的其他集群一致,您可以在之后将失效的主集群重新加入 InnoDB ClusterSet 拓扑。检查、恢复和重新加入失效的主集群不会自动发生 - 管理员需要使用 AdminAPI 命令来执行此操作。您可以选择修复失效的主群集并使其重新联机,也可以放弃原始主群集,继续使用新的主群集作为主群集,并创建新的副本群集。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/56275.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS系列多通道无线采发仪

VS101/104/208/416/432 是以振弦、温度传感信号为主的多通道无线采发仪,并可扩展其它模拟(电流、 电压、电阻)信号和数字信号(RS485、RS232)传感器通道,内置电池,可外接太阳能电池板。最多可实…

QT学习日记28——QT动态库制作和使用

学习视频链接 课时3 控件介绍,使用和样式修改_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV14t411b7EL/?p3&spm_id_from333.337.top_right_bar_window_history.content.click&vd_source0471cde1c644648fafd07b54e303c905 目录 一、动态库项目 1.1 新建工程…

[附源码]Python计算机毕业设计Django家庭医生签约服务管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

车载测试好就业?车载测试就业薪资和前景怎么样?

什么是车载智能系统测试? 车载测试,又叫车载智能系统测试,是汽车智能化重要的组成部分,由旧有的车载资通讯系统结合联网汽车技术所演进而来,随着软硬件技术的不断进步, 让车载智能系统拥有强大的运算能力及…

时序数据库-6-[IoTDB]的数据模式

1 数据模型 我们以风电场物联网场景为例,说明如何在IoTDB中创建一个正确的数据模型。 根据企业组织结构和设备实体层次结构,我们将其物联网数据模型表示为如下图所示的属性层级组织结构,即电力集团层-风电场层-实体层-物理量层。 其中ROOT…

[附源码]计算机毕业设计JAVA校园期刊网络投稿系统

[附源码]计算机毕业设计JAVA校园期刊网络投稿系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…

设计模式-桥接模式

桥接模式( Bridge Pattern )也称为桥梁模式、接口(Interfce)模式或柄体( Handle and Body)模 式,是将抽象部分与它的具体实现部分分离,使它们都可以独立地变化,属于结构型模式。 原文:Decouple an abstract…

【图像分割】Unet-ConvLstm利用时序信息进行视频分割

文章目录0. 介绍1. ConvLstm1.1 Lstm1.2 ConvLstm0. 介绍 文章: Exploiting Temporality for Semi-Supervised Video Segmentation 代码: https://github.com/mhashas/Exploiting-Temporality-For-Semi-Supervised-Video-Segmentation 理解:…

塔望食业洞察丨大健康黄金赛道,低GI食品风起

随着“健康中国2030”国家战略进入到第二阶段,消费者在身心健康方面的提升诉求成为刚需 。在国家政策支持、技术发展的情况下,健康产业已经迎来前所未有的发展契机,健康产业百业兴盛。根据国家数据统计显示,2020年我国健康服务业规…

【加油站会员管理小程序】02创建数据源

我们上一篇介绍了加油站会员管理小程序的原型,本篇我们推导一下需要的数据源。 推导数据源的办法是要从页面上提炼需要存放的数据,在提炼的过程中要考虑表和表的拆分,主要是考虑主子关系。 在数据源设计中有关联关系和主子表的区分,关联关系是一种组成关系,比如学生和班…

扩散模型的启发和因果推论之数据增强

🍿*★,*:.☆欢迎您/$:*.★* 🍿 正文 从因果中推导一种 数据增强的方法比如 使用相机采样的时候 随着相机的移动 采样的时间越短采样的数据越多 那么说名 数据量越大 这样虽然能达到更多数据量的目的但是如果输入是T1 输出是T2那么模型学习到的信息是确…

DSP篇--C6678功能调试系列之DDR3调试

目录 0、前言 1、硬件状态确认 2、DDR3调试 2.1 DDR3初始化 2.2 DDR3读写测试 2.3 DDR3 ECC(略) 0、前言 本来在写完《DSP篇--C6678 SPI BOOT详解及其优化实现》这篇文章后是不打算再去更新嵌入式相关的博文了(主要是换行业了&#xff0…

一种用于环境声源的被动到达角(AoA)提取算法(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

G1D29-Roberta智能蜜罐环境

一、Roberta (一)特点 对bert的一点点改进啦 1、动态遮掩 2、FULL-SENTENCE without NSP loss 3、Large mini-batch 4、A larger Byte-Pair Encoding (二)关于BERT中的NSP和MLM 参考:https://blog.csdn.net/qq_436…

创建一个web项目

servlet 概念: 运行在服务端的程序,是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则 tomcat会读取web.xml文件中的配置 创建一个web项目 目录说明: 1.src:自动编译.java文件的目录 依赖的jdk版本 依赖的tomcat版本 build: 用来…

JAVAWEB_实验三 Servlet 相关技术

文章目录Servlet 基础一、 实验目的二、 实验要求三、 实验内容过滤器一、 实验目的二、 实验原理三、 实验内容试简述过滤器有哪些功能?实现一个查询天气的 web 程序Servlet 基础 一、 实验目的 理解 Servlet 的工作原理,掌握 Servlet 的应用开发方法…

Kanzi:项目实例:大灯Lamp界面设计

概述: 大灯页面(LampPage)主要包括:OFFbtn、Autobtn、ParkLampbtn、HeadLampbtn 这个四个 状态。我们就先简单的分析下。 1: LampPageController 页面 这个controller页面维护两个页面(FirstPage和SecondPage&#…

LeetCode刷题复盘笔记—一文搞懂0 - 1背包之474. 一和零问题(动态规划系列第十篇)

今日主要总结一下动态规划0-1背包的一道题目,474. 一和零问题 题目:416. 分割等和子集 Leetcode题目地址 题目描述: 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多…

【servelt原理_9_servlet应用___】

servlet应用*** 1.request对象 是当客户端向服务器端发送请求时,服务器为本次请求创建request对象,并在调用Servlet的service方法时,将该对象传递给service方法。Request对象中封装了客户端发送过来的所有的请求数据。 ①:doGet()方法接收r…

Maven详细总结

参考博客:https://blog.csdn.net/xiaodi2016/article/details/121341063 ※注意: 我们自己的Maven工程必须执行安装操作才会进入仓库。安装的命令是:mvn install 任何一个Maven工程会根据坐标到本地仓库中去查找它所依赖的jar包…