MySQL 8 新特性之Clone Plugin

Clone Plugin是MySQL 8.0.17引入的一个重大特性,为什么要实现这个特性呢?个人感觉,主要还是为Group Replication服务。在Group Replication中,添加一个新的节点,差异数据的补齐是通过分布式恢复(Distributed Recovery)来实现的。

 

在MySQL 8.0.17之前,只支持一种恢复方式-Binlog。但如果新节点需要的Binlog已经被Purge了,这个时候,只能先借助于备份工具(XtraBackup,mydumper,mysqldump)做个全量数据的同步,然后再通过分布式恢复同步增量数据。

 

这种方式,虽然也能实现添加节点的目的,但总归还是要借助于外部工具,需要一定的工作量和使用门槛。要知道,其竞争对手,PXC,默认集成了XtraBackup进行State Snapshot Transfer(类似于全量同步),而MongoDB则更进一步,原生就实现了Initial Sync同步全量数据。从易用性来看,单就集群添加节点这一项而言,MySQL确实不如其竞争对手。客户体验上,还有很大的提升空间。

 

好在MySQL官方也正视到这个差距,终于在MySQL 8.0.17实现了Clone Plugin。当然,对于官方来说,实现这个特性并不算难,毕竟有现成的物理备份工具(MySQL Enterprise Backup)可供借鉴。

 

本文将从以下几个方面展开:

Clone Plugin的安装

Clone Plugin的使用

如何查看克隆操作的进度

如何基于克隆数据搭建从库

Clone Plugin的实现细节

Clone Plugin的限制

Clone Plugin与XtraBackup的对比

Clone Plugin的参数解析

 

一、Clone Plugin的安装

Clone Plugin支持以下两种安装方式:

(1)配置文件指定

[mysqld] plugin-load-add=mysql_clone.so clone=FORCE_PLUS_PERMANENT

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywzxf.html