【MySQL Shell】第 9 章 MySQL InnoDB ReplicaSet

news/2023/6/7 1:06:37

本章目录

9.1 部署 InnoDB ReplicaSet
9.2 配置 InnoDB ReplicaSet 实例
9.3 创建 InnoDB ReplicaSet
9.4 向 ReplicaSet 添加实例
9.5 采用一个现有的复制设置
9.6 更改主实例
9.7 强制一个新的主实例
9.8 InnoDB ReplicaSet 锁
9.9 标记 ReplicaSets
9.10 检查 InnoDB ReplicaSet 状态
9.11 升级 InnoDB ReplicaSet

AdminAPI 包括对 InnoDB ReplicaSet 的支持,它使您能够管理一组 MySQL 实例,这些实例类似地运行基于异步 GTID 的复制,该复制完全基于事务。 InnoDB ReplicaSet 由单个 主要( Primary ) 副本和多个 次要/辅助( Secondary ) 副本(传统上称为 MySQL 复制源和副本)组成。

您可以使用 ReplicaSet 对象和 AdminAPI 操作来管理 ReplicaSet, 例如,检查 InnoDB ReplicaSet 的状态,并在发生故障时手动故障切换到新的主设备。

与 InnoDB Cluster 类似,MySQL Router 支持针对 InnoDB ReplicaSet 的引导,这意味着您可以自动配置 MySQL Router 以使用您的 InnoDB ReplicaSet, 而无需手动配置。这种自动配置使 InnoDB ReplicaSet 成为一种快速、简便的方式来启动和运行 MySQL 复制和 MySQL Router。 它适合于在不需要 InnoDB Cluster 提供的高可用性的用例中扩展读取并提供手动故障切换功能。

除了使用 AdminAPI 部署 InnoDB ReplicaSet 之外,还可以采用现有的复制设置。 AdminAPI 根据复制设置的拓扑配置 InnoDB ReplicaSet 。 完成复制设置后,您可以像从头开始部署 InnoDB ReplicaSet 一样管理它。您可以利用 AdminAPI 和 MySQL 路由器,而无需创建新的 ReplicaSet。 有关更多信息,请参阅 第 9.5 节 “采用现有复制设置” 。

您可以在广域网( WAN) 上使用 InnoDB ReplicaSet, 而不会影响写入性能,因为服务器实例通过异步复制通道连接,不需要对事务达成共识。然而,WAN 上的复制延迟更大。此延迟导致 InnoDB ReplicaSet 中的辅助服务器进一步落后于主服务器。

InnoDB ReplicaSet 限制。 与 InnoDB Cluster 相比,InnoDB ReplicaSet 有几个限制。建议尽可能部署 InnoDB Cluster。 通常,InnoDB ReplicaSet 本身不提供高可用性。 InnoDB ReplicaSet 的限制包括:

  • 无自动故障切换。在主服务器不可用的情况下,在再次进行任何更改前,需要使用 AdminAPI 手动触发故障切换。但是,辅助实例仍然可用于读取。
  • 由于意外暂停或不可用,无法防止部分数据丢失:在意外暂停时未完成的事务可能会丢失。
  • 意外退出或不可用后,无法防止不一致。如果手动故障切换提升了一个辅助实例,而前一个主实例仍然可用,例如,由于网络分区,则脑裂的情况可能会导致数据不一致。
  • InnoDB ReplicaSet 不支持多主模式。使用允许写入所有成员的经典复制拓扑无法保证数据一致性。
  • 读取扩展受限。 InnoDB ReplicaSet 基于异步复制,因此不可能像 组复制( Group Replication ) 那样调整流控制。
  • 所有辅助成员都从单个源复制。对于某些特定的用例,这可能会影响单个源,例如,许多小(数据量)更新。
  • 仅支持运行 MySQL 8.0 及更高版本的实例。
  • 仅支持基于 GTID 的复制,二进制日志文件位置复制与 InnoDB ReplicaSet 不兼容。
  • 仅支持基于行的复制( RBR), 不支持基于语句的复制( SBR)。
  • 不支持复制筛选器。
  • 任何实例上都不允许使用非托管复制通道。
  • ReplicaSet 最多包含一个主实例。支持一个或多个辅助实例。虽然可以添加到 ReplicaSet 的辅助服务器数量没有限制,但连接到 ReplicaSet 上的每个 MySQL 路由器都必须监视每个实例。因此,添加到 ReplicaSet 的实例越多,监视就越多。
  • ReplicaSet 必须由 MySQL Shell 管理。例如,复制帐户由 MySQL Shell 创建和管理。不支持在 MySQL Shell 外部对实例进行配置更改,例如,直接使用 SQL 语句更改主实例。始终使用 MySQL Shell 与 InnoDB ReplicaSet 一起工作。

使用 InnoDB ReplicaSet 的主要原因是您具有更好的写入性能。使用 InnoDB ReplicaSet 的另一个原因是,它们允许在不稳定或缓慢的网络上部署,而 InnoDB Cluster 则不允许。

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

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

Tailscale 开源版中文部署指南

目前国家工信部在大力推动三大运营商发展 IPv6,对家用宽带而言,可以使用的 IPv4 公网 IP 会越来越少。有部分地区即使拿到了公网 IPv4 地址,也是个大内网地址,根本不是真正的公网 IP,访问家庭内网的资源将会变得越来越…

Maven仓库集成与使用

1.概念:Maven主要服务于基于java平台的项目构建(编译、测试、生成文档、打包、部署等),依赖管理和项目信息管理。 2.四大特性: 2.1:依赖管理系统(jar包管理, jar 升级时修改配置文件即可) 依赖(Coordination):由groupId、artifactId、version组成 …

安徽大学计算机语言学考研真题,安徽大学外国语言学及应用语言学考研经验考研真题考研参考书复试分数线...

原标题:安徽大学外国语言学及应用语言学考研经验考研真题考研参考书复试分数线在考研的过程中要有必胜的信念,不轻易去想如果失败了该怎么办,不给自己留退路,做到心无旁骛。在刚开始准备考研的时候,我也觉得考研真的很…

教你如何轻松背单词

教你如何轻松背单词日语小技巧(1) 学习日语的人常感记词困难。日语词确实难记,因为难寻规律。学习印欧语系诸语,可用词素分析法将词分解为词干和词缀,加以整理,即便利于记住。日语词不是这样由词干和词缀构成的,词素分…

地理信息系统(GIS)系列——ArcGIS API for JavaScript 3.9(1)

Visual Studio 智能提示配置:将以下 JavaScript 文件引入项目中 arcgis_js_v39_sdk\arcgis_js_api\sdk\jshelp\jsapi_vsdoc12_v38.js 1、重要的 API 类 地图类 Map Map 是承载图层的容器,主要用于呈现地图服务、影像服务,此外还可以展示 WM…

Your Guide to Visualizing ClickHouse Data with Apache Superset

Part 1: InstallationInstallation Method 1: Python virtual environmentThe first method installs Superset directly on your host. We’ll start by creating a Python virtual environment. Here are the usual commands, including upgrading pip to the latest and gre

Win10系列:JavaScript动画2

Win10系列:JavaScript动画2 "重新定位"动画也是Windows动画库中的动画效果。"重新定位"动画的动画效果是指一个或一组元素移动到新的位置时,这些元素不是突然出现在新的位置,而是从一个位置移动到另一个位置。 创建"…

深入理解 Jetpack Compose 内核:SlotTable 系统

引言 Compose 的绘制有三个阶段,组合 > 布局 > 绘制。后两个过程与传统视图的渲染过程相近,唯独组合是 Compose 所特有的。Compose 通过组合生成渲染树,这是 Compose 框架的核心能力,而这个过程主要是依赖 SlotTable 实现的…