利用 MySQL 克隆插件搭建主从
前言:
MySQL 的利用隆插 Clone 插件是一个强大的功能,首次引入于 MySQL 8.0.17 版本。搭建主简单来说,利用隆插Clone Plugin 是搭建主一款物理克隆数据工具,它能够帮助我们快速、利用隆插高效地克隆或复制数据库,搭建主极大地简化了数据库迁移、利用隆插备份和恢复的搭建主过程,让我们在处理大量数据时更加得心应手。利用隆插本篇文章我们一起来学习下如何使用克隆插件。搭建主
克隆插件介绍
克隆插件的利用隆插工作原理是创建存储在 InnoDB 中的 schema、table、搭建主tablespaces 和 data dictionary metadata的利用隆插物理快照。这个快照实际上是搭建主一个完整的数据目录,MySQL克隆插件可以使用这个目录来配置并恢复一个 MySQL 服务器。利用隆插

使用克隆插件,用户可以执行本地克隆和远程克隆两种操作:
本地克隆:将数据从启动克隆操作的 MySQL 服务器克隆到该服务器主机上的指定目录下。远程克隆:涉及到本地 MySQL 服务器(接收方)和远程 MySQL 服务器(发送方),IT技术网克隆的数据通过网络从发送方传输到接收方。默认情况下,远程克隆操作会删除接收方数据目录中的现有数据,并用克隆的新数据替换。不过克隆插件的使用也是有一定的限制的,参考官方文档,总结几点如下:
DDL阻塞与兼容性:在早期版本中,克隆操作期间会阻塞源服务器(Donor)上的所有 DDL 操作,但从 MySQL 8.0.27 开始,克隆命令不再阻塞 Donor 上的 DDL 操作。
克隆操作要求源和目标 MySQL 服务器版本兼容,通常不允许跨大版本克隆。直至最近更新(如MySQL 8.0.37),小版本间的克隆限制有所放宽,但仍需注意版本兼容性。
存储引擎限制:克隆操作仅支持InnoDB表,对于其他存储引擎的表,只会克隆其表结构而不会复制数据。
配置与日志不复制:克隆插件不会复制 Donor 服务器的源码库配置参数和二进制日志(Binlog)设置,这意味着目标实例需要独立配置。
操作系统与网络限制:捐赠者和接受者必须运行在相同的操作系统上,并且在某些情况下,要求网络连接直接而不通过MySQL Router。
指定的 Donor 端口不能是X Protocol端口。
字符集与排序规则:源和目标 MySQL 服务器必须具有相同的字符集和排序规则。
利用 Clone Plugin 搭建主从下面我们来具体操作下如何利用远程克隆来搭建主从复制:
复制# 主从服务器安装克隆插件 mysql> INSTALL PLUGIN clone SONAME mysql_clone.so; # 写入my.cnf配置文件 [mysqld] plugin-load-add=mysql_clone.so # 查看插件状态 确认为 ACTIVE mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = clone; +------------------------+---------------+ | PLUGIN_NAME | PLUGIN_STATUS | +------------------------+---------------+ | clone | ACTIVE | +------------------------+---------------+ # 从节点执行远程克隆 # 远程克隆语法: CLONE INSTANCE FROM user@host:port IDENTIFIED BY password [DATA DIRECTORY [=] clone_dir] [REQUIRE [NO] SSL]; DATA DIRECTORY:是一个可选子句,用于在接收端指定要克隆的数据的目录。 如果不想删除接受方原数据目录中的现有数据,可以使用此选项修改数据copy的目录,必须有绝对路径,且目录必须不存在。 不指定的话,则默认克隆到接受方的数据目录下。 # 执行克隆操作,用户需要有BACKUP_ADMIN权限,建议使用管理员账号 mysql> CLONE INSTANCE FROM root@172.16.255.49:3306 IDENTIFIED BY xxxxxxx; Query OK, 0 rows affected (12.40 sec) # 克隆完成后 数据库服务会自动重启,再次进入查看克隆状态 mysql> select * from performance_schema.clone_status\G;WordPress模板相关文章
电脑磁盘显示错误的原因及解决方法(探究电脑磁盘显示错误的常见原因及如何解决)
摘要:随着电脑使用的普及,许多人在使用电脑过程中可能会遇到磁盘显示错误的问题。这些错误会导致文件读取困难、操作系统无法启动等严重后果。本文将探究一些常见的电脑磁盘显示错误原因,以及提供一...2025-11-05
我们在NPM中达到了100万个包大关——Node.js中事实上的包管理器。相信我,其中大约有30%左右的包都在做同样的事情。所以现在的问题是——什么时候够了?过去早期,Node.js是一个简单的运行时2025-11-05
在IAS2019中台架构峰会上,我曾与一位年轻帅气的技术小伙来了一番有趣的对话。因为和朋友有约,所以我在现场互动结束之后,就急匆匆地跟其他嘉宾打了声招呼,抱着笔记本冲出了会场。但没想到刚到电梯口,却被2025-11-05
CSS可能看起来是一门相当简单的语言,在这门语言上很难出错。你只需添加你的规则来设计你的网站就完成了,对于只需要几个CSS文件的小型站点,可能是这样的。但在大型应用程序中,样式可能会迅速失控。你如何让2025-11-05解决电脑关机显示脚本页码错误的方法(修复脚本页码错误,让电脑正常关机)
摘要:在使用电脑过程中,有时会遇到电脑关机时出现脚本页码错误的情况。这个问题给用户带来了不便和困扰。本文将提供一些解决方法,帮助用户修复电脑关机显示脚本页码错误的问题,保障电脑正常关机。...2025-11-05
本文讨论 Go 编译器是如何实现内联的,以及这种优化方法如何影响你的 Go 代码。请注意:本文重点讨论 gc,这是来自 golang.org 的事实标准的 Go 编译器。讨论到的概念可以广泛适用于其它2025-11-05

最新评论