MySQL 8 中新的复制功能使得操作更加方便,并帮助用户更好地观察复制过程中内部发生的情况。
使用 MySQL 5.7.17 获取 MySQL 组复制插件是一项巨大的工作。组复制是一个新的插件,通过使用组通信和状态机复制,为用户提供了一些不错的复制属性。这使得系统能够免受 “脑裂” 情况影响,从而保护数据,实现容错和高可用性,并提供服务器之间的协调,从而进行数据事务的更改。
除了组复制之外,团队还对核心复制功能进行了相当多的投入。其中一些功能已发布,其他功能将在某个时间点发布在 MySQL 开发里程碑版本中(DMR)。
在首个 8.0 DMR(MySQL 8.0.0)中,复制具有更好的基于行复制的工具。用户可以通过查询性能模式表来观察基于行复制应用程序的进度。其中还有一个增强的全局事务标识符(GTID)。
现在,即使启动了多个应用程序线程,用户也可以在启动中继日志应用程序时指定停止条件。
最近发布的第二个 DMR,MySQL 8.0.1,也增加了很多新的复制功能。所有这些功能组合起来都有很大的帮助,因为它们通过自动化、更好的观察性和服务器之间的协调,减少了操作的开销。目前许多方面的工作都在继续进行中:性能、可用性、可扩展性、效率以及可观察性。
MySQL 8.0 中的复制功能分担了 DBA 的一些操作负担。而且,它们允许使用者更好地观察复制过程中内部发生的情况。这一点非常有趣,因为 DBA 需要在设计新的部署方式和处理问题时做出决定,可能需要面对非常紧迫的期限。
本文作者 Luís Soares 是 Oracle 的首席软件工程师和 MySQL 复制团队的负责人。他将会在今年的 Percona Live 开源数据库大会上,介绍 MySQL 8.0 中最新的复制功能。该会议除了介绍 MySQL 8 中关于复制的功能,还将介绍围绕 MySQL 复制的整体思路。因此参会者将会了解到路线图,并且将能参与并提供反馈。Luís Soares 也表示他们将会汇集不断收到的一些热门 MySQL 技术:组复制、InnoDB,以及多线程复制等。