MySQL 运维实战课
张新铭(俊达)
云掣科技资深数据库专家,前淘宝网、支付宝数据库专家
1100 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 42 讲/共 50 讲
MySQL 运维实战课
15
15
1.0x
00:00/00:00
登录|注册

40|MySQL 8.0 Clone 插件的应用和内部原理

你好,我是俊达。
前面我讲过,搭建一个备库,有一个核心的步骤是同步源库的初始状态。逻辑备份(比如使用 mysqldump)和物理备份(比如使用 xtrabackup)都可以用来初始化备库。MySQL 8.0 中,还引入了 Clone 插件,也可以用来初始化一个备库。有了 Clone 插件,搭建备库会变得更加简单。MySQL MGR(Group Replication)也会使用 Clone 插件来初始化成员的数据。此外,还可以将整个数据库克隆到本地的一个目录中,这相当于是给数据库做了一个全量备份。
这一讲中,我们就来聊一聊 Clone 插件的一些用法,以及 Clone 插件的内部原理。

Clone 插件介绍

MySQL 8.0.17 版本引入了 clone 插件。使用 Clone 插件可以对本地或远程的 mysql 实例进行克隆操作。Clone 插件会拷贝 InnoDB 存储引擎表,克隆得到的是数据库的一个一致的快照,可以使用这个快照数据来启动新的数据库实例。Clone 插件还会记录数据库的 Binlog 位点,可以将克隆得到的实例作为源实例的备库。
Clone 插件支持本地克隆和远程克隆这两种模式。本地克隆将数据存放在源数据库所在主机上。远程克隆涉及到两个实例,提供数据的实例称为捐赠者(Donor),接收数据的实例称为接收者(Recipient)。捐赠者将整个数据库通过 MySQL 网络协议发送给接收者,接收者将数据存放到数据目录。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. MySQL 8.0.17版本引入了clone插件,可以对本地或远程的mysql实例进行克隆操作,克隆得到的是数据库的一个一致的快照,可以使用这个快照数据来启动新的数据库实例。 2. Clone插件支持本地克隆和远程克隆两种模式,本地克隆得到的数据文件和源实例存放在同一台主机上,而远程克隆将整个数据库从捐赠者复制到接受者。 3. Clone插件的应用包括搭建备库、初始化成员的数据、将整个数据库克隆到本地的一个目录中,相当于是给数据库做了一个全量备份。 4. Clone插件的内部原理涉及到克隆操作的状态、使用Clone的数据启动实例、远程clone前置条件、远程clone操作步骤等。 5. Clone插件的使用可以简化搭建备库的过程,提供了本地和远程克隆两种模式,同时克隆得到的数据可以直接用来启动新的数据库实例,方便实现数据库的备份和恢复. 6. Clone插件如何保证最终得到的数据的一致性,通过页面跟踪、文件复制、页面复制和Redo复制等阶段来保证数据的一致性。 7. Clone插件只支持InnoDB存储引擎,可以直接初始化备库的数据,也可以基于本地Clone来实现数据库的物理备份,相比于Xtrabackup,Clone插件是MySQL官方提供的,使用也比较方便。 8. 在将一个Clone出来的数据库作为备库加入到原先的复制架构中时,如果使用了基于位点的复制,需要从正确的Binlog位点开启复制,这个Binlog位点信息存储在mysql.gtid_executed表中。 9. Clone插件的一些限制包括8.0.27版本之前不允许进行DDL,一次只能clone一个实例,不会复制mysql参数和binlog,只复制存储在innodb存储引擎中的数据,不支持通过mysql router连接到捐赠者实例等。 10. Clone插件的应用和内部原理对于数据库管理员和开发人员来说都具有重要的实用价值,可以帮助他们更加简单地进行数据库备份和初始化操作,提高工作效率。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《MySQL 运维实战课》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部