MySQL 8.0.2复制新特性(翻译)

译者:知数堂星耀队

MySQL 8.0.2复制新特性

MySQL 8 正在变得原来越好,而且这也在我们MySQL复制研发团队引起了一阵热潮。我们一直致力于全面提升MySQL复制,通过引入新的和一些有趣的功能。此外,我们还听取了社区的建议和反馈。因此,我们很荣幸能够与你一同见证最新版本(MySQL 8.0.2)的里程碑式的发布,为此我们总结了其中的一些值得注意的变化。跟随我们下面的博客,我们将会分享这些新功能的一些见解。

我们对MySQL 组复制进行了加强,主要有以下几个方面:

  • 不允许对离开组的成员进行更改:每当组成员离开群组,离开的成员将会自动设置super_read_only,这可以防止DBA,用户或路由器/代理/负载平衡等带来的的意外更改。除了默认离开组复制的成员不能够进行修改以外,也可以从刚加入开始就开始禁止写入,我们也可以在服务器启动时设置super_read_only参数并启动组复制插件。一旦组复制动成功,他会自动调整super_read_only的值。在多主模式下,所有的节点都将不会设置super_read_only参数 ;在单主的模式下,除了主节点以外,其他的节点都会设置super_read_only为ON 。如果很不幸,你的组复制启动失败了的话,super_read_only参数将不会被设置,将不能进行任何写入操作。这些最新的变化同样适用于MySQL 5.7.19和MySQL 8.0.2。所有的这些,有很大部分是因为我们听取了社区的反馈然后进行开发和加强。--在此 感谢Kenny Gryp
  • 可以在Performance Schema 中查看更多信息:在Performance Schema现存的表中,对相关的统计信息的可读性进行了加强。“replication_group_members” 和 “replication_group_member_stats” 表也做了相关拓展,现在可以清楚的看到组成员的角色信息,组成员版本和事物计数器(本地/远程)
  • 通过分配权重来指定主库的选举:用户可以通过指定组成员的权重来控制主库的选举,当现有的主节点退出组复制,权重最高的节点就会被提升为主节点。
  • 流量控制机制加了一些微调项:用户现在可以更精细的调节流量控制组件。可以定义每个成员的最小配额,整个组的最小提交配额,流程控制窗口等等。

MySQL 8.0.1 已经在MySQL复制核心框架添加了很多引人注目的功能。而MySQL 8.0.2在此基础上又有很大的提升,主要如下:

  • 增强对接收器(IO)线程的管理,即使磁盘已满:此功能提高了接收器和其他线程之间的内部协调效率,减少彼此的争用。对于终端用户来说,这意味着在磁盘变满并且接收器线程阻塞的情况下,它不再阻塞监视操作,例如SHOW SLAVE STATUS。它还引入了一个新的线程状态(接收器线程正在等待磁盘空间资源),此外,当磁盘已满的时候,而且你并不能通过释放磁盘空间使接收器线程继续没有完成的工作,这个时候你可以手动停掉它,一般情况下不会有什么问题。但是如果当时有一个写入的事物被清除掉了,而且relay log 也不是在一致的状态下,当接收器线程轮询relay log并且在等待磁盘空间可用时,你就要特别的留心。
  • binary log中记录更多的元数据信息:将事物长度添加到全局事务日志事件。这可以对我们未来的优化工作有很大的帮助,而且也提高了binary log的可读性。

如果你在研究MySQL复制的内部机制与原理,我们将很高兴与你一起分享我们做了一些清理工作,并为我们的基础组件添加了一个有趣的服务:

  • 组成员事件可以传播到内部其他组件。通过利用新的基础服务架构,组复制插件现在可以通知服务器中的其他组件关于成员关联的事件。例如,通知组成员的角色改变仲裁丢失等。其他的组件可以对这个信息作出反馈,并且用户也可以自己开发组件用来记录和检测这些事件。
  • 从XCom(标准的Paxos实现,能严格保证正确性)的内部结构中删除节点上的冗余信息:我们在XCom的结构中删除了一些冗余信息,这使它变得更加简单,更少的出现错误,更容易监控那些节点加入或者离开集群,同时它会在系统中保留以前的信息。
  • 对XCom核心和新编码风格进行了几项改进:我们已经修复了XCom的几个BUG,重新格式化了代码,使它符合Google的编码准则,如果你恰巧是一个开发人员,并且再看我们Paxos实现的源代码,你会发现改版后的代码将会更加容易阅读和理解。
  • 移除了一些老旧版本binary log转换的源代码:这个清理工作我们清除了一些老版本My数据库产的的binary logs转化为新版本能够识别的一些代码(现在仅支持MySQL5.0以及以上版本)。

还有一件有意思的事情,我们已经在MySQL 8.0.2中更改了以下复制默认值:

  • 复制的元数据信息默认以INNODB系统表来存储:这将使MySQL复制功能变得更加强大,在复制崩溃并且自动恢复时候能够使用INNODB事物的特性来保证恢复到指定位置的正确性。此外,新功能还要求将元数据以表的形式存储(比如组复制和多源复制),它与MySQL 8的新的数据字典保持一致。
  • 基于行数据的哈希扫描被默认开启:这也许并不是一个被广泛认同的做法,但是当从库有一些没有主键约束的表的时候性能会有提高。在这种情况下,使用基于行的复制时,此更改会最大程度降低性能损失,因为它会减少更新所有行所需的表扫描数(slave_rows_search_algorithms参数默认TABLE_SCAN,INDEX_SCAN,HASH_SCAN)。
  • transaction-write-set-extraction参数会默认开启:使用写集提取,为用户启动组复制或在主服务器上使用基于WRITESET的依赖关系对master进行跟踪。
  • 默认开启Binary log 过期时间:expire-logs-days默认设置为30(30天)

如你所知,我们一直很忙。事实上,MySQL 8.0.2 Milestone Release已经发布了。在复制方面,我们非常高兴看到许多有趣的功能被加入进来。

接下来将会有专门的博客来介绍说明这些功能。你也可以自己下载进行测试(下载地址),我们需要留意的是MySQL 8.0.2还是DMR版本,并没有GA,使用它需要自己承担风险。另外不要忘记,我们欢迎而且很期望得到你们的反馈。您可以通过错误报告,功能报告,复制邮件列表或仅对这个(或后续的)博文发表评论来给予我们反馈。MySQL 8将会越来越好,越来越精彩。

时间: 2024-08-22 02:45:22

MySQL 8.0.2复制新特性(翻译)的相关文章

c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结【转载】

引用:http://blog.csdn.net/attilax/article/details/42014327 c# .net 3.5 4.0 各个版本新特性战略规划总结 1. --------------.Net Framework版本同CLR版本的关系1 2. paip.------------SDK2.0功能-------------2 2.1. 泛型:2 3. --------------sdk3.0  增加了以下功能..2 3.1. LINQ 3 4.  ----------sdk4

Atitit.c# .net 3.5 4.0 各个版本新特性战略规划总结

Atitit.c# .net 3.5 4.0 各个版本新特性战略规划总结 1. --------------.Net Framework版本同CLR版本的关系 1 2. paip.------------SDK2.0功能------------- 2 2.1. 泛型: 2 3. --------------sdk3.0  增加了以下功能.. 2 3.1. LINQ 3 4.  ----------sdk4.0 新加功能------------ 3 5. ].Net4.5的五项强大新特性 3 5.

C# 6.0可能的新特性

C# 6.0可能的新特性 1.主构造函数(Primary Constructors) 主构造函数给类中的变量赋值 Before public class Point { private int x, y; public Point(int x, int y) this.x = x; this.y = y; } } After public class Point(int x, int y) { private int x, y; } 2.自动属性赋值(Auto Properties) Befor

解析Hadoop 2.3.0版本的新特性

2014年2月20日,Hadoop 2.3.0版本发布,这是apache 在2014年发布的第一个Hadoop版本,揭开了Hadoop 2014发展的序幕. 该版本引入了很多大家期待已久的特性,包括HDFS 的异构层次化存储架构.DataNode Cache,YARN的单点故障解决方案,以及MapReduce的自动化部署等.本文尝试为大家解析这些特性,并给出一些资料供大家深入了解. HDFS新特性. 2.3.0中引入了两个大的HDFS特性,分别是异构层次化存储架构和DataNode Cache.

有史来最大改变 Android 5.0十大新特性

有史来最大改变 Android 5.0十大新特性 2014.10.16 14:51:31 来源:腾讯数码作者:腾讯数码 ( 0 条评论 ) 距离Android系统上一次重大更新不到一年的时间,谷歌再一次从KitKat升级到了Lollipop,而两次都使用糖果来命名,营销的目的显露无 遗.当我们首次看到Android 5.0 Lollipop这个名字的时候,就已经意识到这将是Android系统有史以来变化最大的一次升级. 首先,在感官界面设计上,我们彻底迎来了Android系统的扁平化时代,新的系

【HANA系列】SAP HANA 1.0 SPS 11 新特性

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA 1.0 SPS 11 新特性 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 1:SQL新特性更新2:System Views新特性更新3:Smart Data Access(好像针对IBM出的)4:Multistore tables新特性 原文地址:https://www.cnbl

(数据科学学习手札73)盘点pandas 1.0.0中的新特性

本文对应脚本及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 毫无疑问pandas已经成为基于Python的数据分析领域最重要的包,而就在最近,pandas终于迎来了1.0.0版本,对于pandas来说这是一次更新是里程碑式的,删除了很多旧版本中臃肿的功能,新增了一些崭新的特性,更加专注于高效实用的数据分析,本文就将针对pandas 1.0.0在笔者眼中比较重要的特性进行介绍,对于想要完整彻底了解新版

Android5.0美不胜收的新特性 Material Design

Google提出了全新的设计规范Material Design,扁平化的设计,加上明亮的色彩,有一种美不胜收的感觉. Material Design翻译过来叫做"材料设计",Material Design是多种元素组合在一起形成一个层次的效果,有主题.新的控件.动画,那么使用Material Design要注意些什么呢?下面来看看使用的注意点: 1.保证兼容性,可以兼容市场占有率高的低版本系统 下面来初步认识一下Material Design的设计规范: 1.使用Material De

技术大牛论道HBase 3.0 可能的新特性

摘要: 经过了四年的发展历程,HBase 2.0终于发布上线,其增加了很多的新特性,能够更好地适应更多的场景,但是也有一些原本计划的特性并没有随之上线.在未来的HBase 3.0版本中,又有哪些特性能够增加进来呢?本文中,技术大牛将论道HBase 3.0那些可能的新特性. 摘要:经过了四年的发展历程,HBase 2.0终于发布上线,其增加了很多的新特性,能够更好地适应更多的场景,但是也有一些原本计划的特性并没有随之上线.在未来的HBase 3.0版本中,又有哪些特性能够增加进来呢?本文中,技术大