前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >隐藏MySQL InnoDB Cluster / ReplicaSet实例

隐藏MySQL InnoDB Cluster / ReplicaSet实例

作者头像
MySQLSE
发布于 2020-09-28 08:07:57
发布于 2020-09-28 08:07:57
9780
举报

作者:MiguelAraújo 译:徐轶韬

MySQL Router是InnoDB Cluster / ReplicaSet的核心组件,可将客户端流量自动路由数据库组中的正确实例。MySQL Router可以自动适应拓扑更改,但在某些情况下,我们可以使用特定属性标记一个实例,这个属性将更改路由器的默认行为。

在8.0.21版本中,我们在AdminAPI引入了标记框架,通过它我们能够引入非常需要的功能:

  • 隐藏MySQL InnoDB Cluster / ReplicaSet实例

为什么要隐藏实例?

暂时将实例标记为无法接收流量这一功能非常重要,因为它可以:

  • 服务器上执行滚动升级而不会中断传入流量
  • 在服务器上执行维护操作或配置更改,而不必停止MySQL
  • 将服务器从滞后的客户端工作负载中排除
  • 排除出于灾难恢复目的而位于不同区域/区域中的数据库服务
  • 在进行备份或生成报告时,从读取的工作负载中排除SECONDARY服务器,以避免影响其他查询。
升级/维护

执行MySQL的滚动升级需要使脱机实例。但必须注意,可能会产生与该实例的连接失败。从路由目标候选列表中排除该实例后,DBA可以安全地使服务器脱机,并确保没有应用程序/路由器流量发送到该服务器。

根据维护任务的不同,甚至可能不需要使服务器脱机。在这之前,这意味着停止组复制或MySQL本身,以避免破坏可能影响性能的传入流量。而现在通过从路由候选中隐藏该实例,可以完全避免这种情况。

复制滞后

考虑到InnoDB ReplicaSet基于异步复制,复制滞后是要考虑的常见因素。如果某个实例滞后,DBA可能希望对应用程序隐藏它,直到它赶上来为止,从而减少了复制滞后。这同样适用于InnoDB Cluster,尽管组复制实际上是同步的,并且复制滞后的度量方式有所不同。

灾难恢复和备份

更复杂的体系结构包括用于备份灾难恢复的服务器。这些服务器不应承担任何工作负载,或者应在执行备份时暂时从客户端流量中排除这些服务器。

现在可以通过将这些服务器从路由候选列表中排除来实现。

注意:Secondary2用于进行备份,因此DBA将其从传入的客户端连接中排除

数据报表

在特定实例上生成数据报表可能会非常耗时,并且会影响实例的性能。因此,推荐的方法是将该服务器从路由候选列表中排除。

如何将服务器从候选列表中排除呢?

MySQL Router不断地对配置更改汇集元数据,因此使用标记框架无疑是允许此类自定义的正确方法。

借助AdminAPI及其易用性,用户现在可以通过简单地调用.setInstanceOption()来为实例设置标签。

为了从客户端流量中隐藏实例,我们引入了两个“内置”标签,使您可以立即更改路由器的行为:

  • _hidden
  • _disconnect_existing_sessions_when_hidden

通过_hidden在特定实例上启用标签,您可以指示MySQL Router 将实例从客户端应用程序的候选目标列表中排除。考虑到MySQL路由器不断轮询元数据,其效果实际上是立竿见影的。

通过_disconnect_existing_sessions_when_hidden在特定实例上启用标签,您可以指示路由器断开与标记为隐藏的实例的连接。

注意:默认情况下_disconnect_existing_sessions_when_hidden为启用。

结论

对于MySQL InnoDB Cluster和ReplicaSet的任何生产部署,隐藏实例无疑是一项重要功能。它可以执行许多繁琐的任务,而又不会中断客户端的流量,最重要的是,可以进行更复杂的设置。

请将您的部署升级到8.0.21,并享受令人兴奋的新功能!

感谢您 使用 MySQL!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL解决方案工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL原生高可用方案之InnoDB ReplicaSet(一)
在MySQL8.0引入了InnoDB ReplicaSet,它提供了我们熟悉的复制特性,如果有mongodb副本集的概念,理解InnoDB ReplicaSet会比较容易。
AsiaYe
2021/04/22
1.2K0
MySQL原生高可用方案之InnoDB ReplicaSet(一)
MySQL8.0.19 InnoDB ReplicaSet介绍与搭建
AdminAPI包含对InnoDB ReplicaSet的支持,使您能够以类似于管理InnoDB cluster的方式构建与管理基于异步GTID的复制的一组MySQL实例。InnoDB ReplicaSet由一个主节点和多个从节点构成。您可以使用ReplicaSet对象和AdminAPI操作管理复制集,例如检查InnoDB复制集的状态,并在发生故障时手动故障转移到新的主服务器。与InnoDB cluster类似,MySQL Router支持针对InnoDB replicset的引导,这意味着您可以自动配置MySQL Router以使用InnoDB replicset,而无需手动配置文件。这使得InnoDB ReplicaSet成为一种快速简便的方法,可以启动和运行MySQL复制和MySQL Router,非常适合扩展读取,并在不需要InnoDB集群提供高可用性的用例中提供手动故障转移功能。
卖菜小弟
2020/01/21
1.4K0
MySQL Shell AdminAPI – 8.0.23中有什么新功能?
MySQL开发团队很高兴宣布MySQL Shell AdminAPI的新8.0维护版本– 8.0.23!除了一些错误修复和较小更改之外,还包括有关监视/故障排除 和性能的一些重要增强。
MySQLSE
2021/02/07
1.2K0
InnoDB Cluster详解
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
用户1148526
2019/09/18
5.1K0
InnoDB Cluster详解
MySQL Shell 8.0.21的新增功能
MySQL Shell 8.0.21中引入了一套新的逻辑转储实用程序。 util.dumpInstance(),util.dumpSchemas()和 util.loadDump()可以通过zstd或gzip压缩、快速并行创建和恢复MySQL数据库的逻辑转储,还可以选择将它们存储在OCI(Oracle 基础架构云)对象存储中。
MySQLSE
2020/09/28
1.5K0
MySQL 9.2 新特性 Routing Guidelines
原文:https://dev.mysql.com/blog-archive/smarter-query-routing-with-mysql-routing-guidelines/,爱可生开源社区翻译。
爱可生开源社区
2025/04/01
780
MySQL 9.2 新特性 Routing Guidelines
MySQL8.0.19的InnoDB ReplicaSet
MySQL8.0.19里面推出了一个新功能,InnoDB ReplicaSet,我暂且管它叫做叫做复制集。那么这个复制集是做什么用的呢?为何要推出这样一款产品呢?它将如何使用呢?这篇文章里我将会简单的介绍一下它。
MySQLSE
2020/09/28
5010
MySQL8.0.19的InnoDB ReplicaSet
什么是mysql innodb cluster?
MySQL InnoDB集群提供了一个集成的,本地的,HA解决方案。MySQL InnoDB集群由以下几部分组成:
陈不成i
2021/06/15
1.3K0
重磅新品!MySQL InnoDB ClusterSet
最近属实有些忙碌,距MySQL 8.0.27的发布已经过去一个多月的时间了,还没有仔细研究8.0.27的发布内容。经过一番研究,8.0.27版本看似平淡无奇,实则不然,在这个版本里面推出了一款新品——MySQL InnoDB ClusterSet。下面让我们来一探究竟。
MySQLSE
2021/12/07
8930
重磅新品!MySQL InnoDB ClusterSet
MySQL InnoDB Cluster实战
对于MySQL的高可用集群方案,之前在项目实战中使用过简单的主从半同步复制方案、基于Galera的MySQL高可用集群,但总感觉配置太复杂,集群目前的状况不太清晰明确,发生故障转移时经常需要人工参与。这周使用mysql-operator,发现这里已经使用了MySQL官方推出的一套完整的、高可用的MySQL解决方案-MySQL InnoDB Cluster,这绝对是MySQL运维工程师的福音,这里将一些研究过程中查阅的资料记录一下。
jeremyxu
2019/06/13
4.5K0
MySQL8 中文参考(八十五)
对于一般的 X 插件监控,请使用其公开的状态变量。参见第 22.5.6.3 节,“X 插件状态变量”。有关专门监视消息压缩效果的信息,请参见 X 插件的连接压缩监控。
ApacheCN_飞龙
2024/06/26
1690
MySQL8 中文参考(八十五)
介绍几种 MySQL 官方高可用方案
MySQL 官方提供了多种高可用部署方案,从最基础的主从复制到组复制再到 InnoDB Cluster 等等。本篇文章以 MySQL 8.0 版本为准,介绍下不同高可用方案架构原理及使用场景。
MySQL技术
2024/06/27
3830
介绍几种 MySQL 官方高可用方案
新特性解读 | InnoDB ReplicaSet:MySQL 副本集初体验
指定 root 密码后自动创建 MySQL 实例,默认数据目录在 $HOME/mysql-sandboxes/port
爱可生开源社区
2020/03/13
6210
MySQL原生高可用方案之InnoDB Cluster(一)
之前的文章中,我们针对Innodb Replicaset进行了介绍,它是MySQL中的一种高可用方案,它的硬伤是不能实现自主的故障自愈。今天我们来看另外一种功能更加健全的高可用方案,Innodb Cluster。
AsiaYe
2021/04/22
3.3K0
MySQL原生高可用方案之InnoDB Cluster(一)
MySQL 8.0.21 GA!重点解读
MySQL 8.0.21 版本已于昨日发布(dev.mysql.com),开始对一些术语如 Master / Slave 等做了替换。下面是来自官方团队对此版本的重点功能解读。
爱可生开源社区
2020/07/16
7810
MySQL原生高可用方案之InnoDB ReplicaSet(二)
前面的文章中,我们说了ReplicaSet的基本概念和限制以及部署前的基本知识。今天我们来看InnoDB ReplicaSet部署过程中的两个重要组件之一的MySQL Shell,为了更好的理解MySQL Shell,画了一张图,如下:
AsiaYe
2021/04/22
9651
MySQL原生高可用方案之InnoDB ReplicaSet(二)
MySQL 8.0新特性:InnoDB ReplicaSet
InnoDB ReplicaSet在 MySQL 8.0.19 版本之后开始支持;本文将针对 InnoDB ReplicaSet这一新特性做一些测试,包括环境部署,在线主从切换、故障切换等;
SEian.G
2021/04/09
1.4K0
MySQL InnoDB Cluster 详解
这篇文章将详细地介绍MySQL的高可用解决方案—— MySQL InnoDB Cluster。
MySQLSE
2020/09/28
2.3K0
MySQL InnoDB Cluster 详解
升级MySQL InnoDB Cluster的元数据
与8.0的每个发行版一样,MySQL Shell 8.0.19包含多个错误修复以及新功能,该版本包含了一些重大更改:
MySQLSE
2020/09/28
1.2K0
升级MySQL InnoDB Cluster的元数据
Mysql 正式发布高可用方案 InnoDB Cluster
1. 简介 前几天 Mysql 团队愉快的发布了 InnoDB Cluster 的 GA(General Availability 正式发布) 版本 InnoDB Cluster 是 Mysql 的一
dys
2018/04/04
1.1K0
Mysql 正式发布高可用方案 InnoDB Cluster
相关推荐
MySQL原生高可用方案之InnoDB ReplicaSet(一)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文