MySQL InnoDB集群部署及管理全教程

news2025/2/13 1:52:35

MySQL InnoDB 集群提供完整的高可用性 MySQL 的解决方案。通过使用MySQL Shell附带的AdminAPI,您可以轻松 配置和管理至少三个MySQL服务器的组 实例以充当 InnoDB 集群。

InnoDB 集群中的每个 MySQL 服务器实例都运行 MySQL 组复制,提供复制机制 InnoDB 集群中的数据,具有内置故障转移功能。管理接口 无需在 InnoDB 集群,但有关更多信息,请参阅组复制,其中解释了详细信息。从 MySQL 8.0.27,你也可以设置 InnoDB ClusterSet(参见第 8 章 MySQL InnoDB ClusterSet)来提供灾难 通过链接主数据库对 InnoDB 集群部署的容忍度 InnoDB 集群,其自身的一个或多个副本交替存在 位置,例如不同的数据中心。

MySQL 路由器可以自动 根据您部署的群集进行自我配置,连接客户端 应用程序对服务器实例透明。如果发生以下情况 群集重新配置的服务器实例意外故障 自然而然。在默认的单主模式下,一个 InnoDB 集群具有单个读写服务器实例 - 主要。多个辅助服务器实例是 主要。如果主数据库发生故障,则会自动升级辅助数据库 到主要角色。MySQL 路由器检测到这一点并转发客户端 新主数据库的应用程序。高级用户还可以配置 集群以具有多个主数据库。

下图显示了这些技术的工作原理概述 一起:

一、 InnoDB 集群要求

 在安装InnoDB Cluster的生产部署之前,请确保您打算使用的服务器实例满足以下要求。

  • InnoDB集群使用组复制,因此您的服务器实例必须满足相同的要求。请参阅组复制要求。AdminAPI提供dba.checkInstanceConfiguration()方法来验证实例是否满足组复制要求,并提供dba.configureInstance()方法以配置实例以满足要求。
  • 用于Group Replication的数据,以及用于InnoDB Cluster的数据,必须存储在InnoDB事务存储引擎中。使用其他存储引擎(包括临时MEMORY存储引擎)可能会导致组复制出错。在将实例与Group Replication和InnoDB Cluster一起使用之前,请将其他存储引擎中的任何表转换为使用InnoDB。您可以通过在服务器实例上设置disabled_storage_engines系统变量来防止使用其他存储引擎,例如:
    disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
  • 设置群集时,任何服务器实例上都不得有入站复制通道。在正在采用的复制组上允许由组复制自动创建的通道(Group_Replication_applier和Group_replification_recovery)。InnoDB Cluster不支持使用AdminAPI管理的异步复制通道之外的手动配置异步复制通道。如果您正在将现有的复制拓扑迁移到InnoDB Cluster部署,并且在设置过程中需要临时跳过此验证,则可以在创建集群时使用force选项来绕过它。 
  • group_replication_tls_source不能设置为mysql_admin。
  • 必须在任何要与InnoDB Cluster一起使用的实例上启用性能模式。
  • MySQL Shell用于配置InnoDB Cluster中使用的服务器的配置脚本需要访问Python。在Windows上,MySQL Shell包含Python,不需要用户配置。在Unix上,Python必须作为shell环境的一部分找到。要检查您的系统是否正确配置了Python,请执行以下操作:
    $ /usr/bin/env python

    如果启动Python解释器,则不需要执行进一步的操作。如果上一个命令失败,请在/usr/bin/python和您选择的python二进制文件之间创建一个软链接。

  • 从版本8.0.17开始,实例必须在InnoDB集群中使用唯一的server_id。当您使用Cluster.addInstance(实例)操作时,如果集群中的实例已经使用了实例的server_id,则该操作将失败并出现错误。

  • 从版本8.0.23开始,应该将实例配置为使用并行复制应用程序。请参阅第7.5.6节“配置并行复制应用程序”。

  • 在为InnoDB Cluster配置实例的过程中,配置了使用实例所需的大部分系统变量。但是AdminAPI没有配置transaction_instance系统变量,这意味着它默认为REPEATABLE READ。这不会影响单个主集群,但如果您使用的是多主集群,那么除非您在应用程序中依赖可重复的READ语义,否则我们建议使用READ COMMITTED隔离级别。

  • 实例的相关配置选项,特别是组复制配置选项,必须位于单个选项文件中。InnoDB Cluster只支持服务器实例的单个选项文件,不支持使用--defaults extra file选项来指定额外的选项文件。对于使用实例的选项文件的任何AdminAPI操作,必须指定主文件。如果您想为与InnoDB Cluster无关的配置选项使用多个选项文件,则必须手动配置这些文件,确保根据使用多个选择文件的优先规则正确更新这些文件,并确保与InnoDB Cluster相关的设置不会被额外未识别的选项文件中的选项错误地覆盖。

二、 InnoDB 集群限制


三、 InnoDB 集群的用户帐户


四、 部署生产 InnoDB 集群


五、 配置 InnoDB 集群


六、 保护 InnoDB 集群


七、 监控 InnoDB 集群


八、 还原和重新启动 InnoDB 集群


九、修改或解散 InnoDB 集群


十、升级 InnoDB 集群

📢文章下方有交流学习区!一起学习进步!也可以前往官网,加入官方微信交流群💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗ 

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

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

相关文章

LoadRunner 2023 下载和安装

下载 LoadRunner目前最新的版本是2023版,需要到Micro Focus公司的官网注册账号然后申请下载,比较麻烦,这里我把大家常用的社区版本,搬运到阿里云盘上,供下载: https://www.aliyundrive.com/s/WtHSzD4MrXw …

面试了十几家软件测试公司谈谈我最近面试的总结

由于互联网裁员,最近在 bosss 上投了些简历,测试开发岗,看看目前市场情况。 虽然都在说大环境不好,失业的人很多,我最近约面试的还是比较多的,说说最近的体会吧,希望能给大家提供价值。 1、20K…

教你制作一个简单的进销存管理软件,值得收藏!

首先要制作进销存软件,要具体了解进销存到底是什么含义,这三个字分别代表什么流程,在整个进销存管理中的组成。再根据不同的流程制作进销存软件相对应的部分—— 01进销存的定义 “进”——采购 采购是进销存管理的重要组成部分&#xff0…

微信开放平台第三方开发,注册试用小程序,一整套流程

大家好,我是小悟 对服务商来说,试用小程序的好处不言而喻,主打一个先创建后认证的流程。只需要提供小程序名称和openid便可快速注册一个试用小程序,在认证之前,有效期14天,大致流程如下。 注册试用小程序 …

HCIA-RS实验-配置DHCP

什么是DHCP DHCP是动态主机配置协议(Dynamic Host Configuration Protocol)的缩写,它是一种网络协议,用于自动分配IP地址、子网掩码、网关以及DNS服务器等网络参数给计算机,从而简化了网络管理和配置。 DHCP服务器的…

robotframework+python接口自动化的点滴记录

在robotframeworkpython框架上写了两三天的接口自动化,做了一些笔记。 1.在断言的时候经常由于数据类型导致较验不通过,值得注意的是,在定义常量或者变量的时候,使用${}代表int类型,例如${2}就代表数字2,另…

Qt学习09:其他基本小控件

文章首发于我的个人博客:欢迎大佬们来逛逛 文章目录 QSpinBoxQDateTimeEditQComboBoxQSliderQRubberBand QSpinBox 微调框,可以通过点击增加减小或者输入来调整数据。 继承自:QAbstractSpinBox 同时这个类还具有Double类型的版本。 常用操…

搭建Scala开发环境

一、Windows上安装Scala 1、到Scala官网下载Scala Scala2.13.10下载网址:https://www.scala-lang.org/download/2.13.10.html 单击【scala-2.13.10.msi】超链接,将scala安装程序下载到本地 2、安装Scala 双击安装程序图标,进入安装向导&…

笔试强训错题总结(二)

笔试强训错题总结(二) 选择题 下列哪一个是析构函数的特征() A. 析构函数定义只能在类体内 B. 一个类中只能定义一个析构函数 C. 析构函数名与类名不同 D. 析构函数可以有一个或多个参数 析构函数可以在类中声明&#xff0c…

np.arange()用法+reshape+np.dot()

1.np.arange()用法 np.arange()函数返回一个有终点和起点的固定步长的排列 # 参数个数情况: np.arange()函数分为一个参数,两个参数,三个参数三种情况 # 1)一个参数时,参数值为终点,起点取默认值0&#xff…

SpringBootSecurity 简单明了

在autoConfiguration Jar的imports文件里面有 SecurityFilterAutoConfiguration类,这样springboot会自己加载这个类。 该类的作用是向容器内部注入一个RegisterBean叫DelegatingFilterProxyRegistrationBean,由于它同时实现了ServletContextInitializer接…

Redis问题处理

1、jemalloc/jemalloc.h:没有那个文件或目录 解决方法: 正确解决办法(针对2.2以上的版本) 清理上次编译残留文件,重新编译 make distclean && make

【学术小白如何写好论文】文献综述

文章目录 一、前言1.目的2.作用 二、切入角度三、写作方法 一、前言 前言:在撰写这部分的时候,我们首先要明确文献综述的目的是什么,作用是什么。 1.目的 梳理前人研究的脉络找出前人研究的不足 2.作用 让本研究更充实,告诉读者…

路径规划算法:基于蛾群优化的路径规划算法- 附代码

路径规划算法:基于蛾群优化的路径规划算法- 附代码 文章目录 路径规划算法:基于蛾群优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法蛾群…

SpringSecurity实现前后端分离登录token认证详解

目录 1. SpringSecurity概述 1.1 权限框架 1.1.1 Apache Shiro 1.1.2 SpringSecurity 1.1.3 权限框架的选择 1.2 授权和认证 1.3 SpringSecurity的功能 2.SpringSecurity 实战 2.1 引入SpringSecurity 2.2 认证 2.2.1 登录校验流程 2.2.2 SpringSecurity完整流程 2.2.…

翻译的技巧

400字左右的文章中划出5个句子, 30分钟内将其翻译成中文,分值10分。文章的题材大多是有关政治、经济、文化、教育、科普以及社会生活,议论文为主,说明文为辅,结构严谨,逻辑性强,长难句较多。不仅…

基于深度学习的高精度人脸口罩检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度人脸口罩检测识别系统可用于日常生活中或野外来检测与定位人脸口罩目标,利用深度学习算法可实现图片、视频、摄像头等方式的人脸口罩目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5…

mcu:利用Cortex-M中的DWT实现高精度计时

1、Cortex-M中的DWT 在Cortex-M里面有一个外设叫DWT(Data Watchpoint and Trace),是用于系统调试及跟踪。 它有一个32位的寄存器叫CYCCNT,它是一个向上的计数器,记录的是内核时钟运行的个数,内核时钟跳动一次,该计数器…

node-red 部署案例指导

配置node-red静态资源目录 找到 node-red 的设置文件 可以在启动日志中看到 以我的为例 C:\Users\fizz\.node-red\settings.js 我们在.node-red目录创建一个static目录。用于存放静态文件。 然后修改setting.js的 httpStatic: ‘C:/Users/fizz/.node-red/static/’, 重启…

探索戴森在科技行业的统治地位:分析其后吹风机的成功

2016年,戴森(Dyson)公司推出重新定义审美与功能的吹风机Supersonic,定价为3000元,七年来,Supersonic不仅没有因其价格远高于竞品而被市场淘汰,反而稳居国内市场吹风机的“龙头宝座“&#xff0c…