更新时间:2022-08-13 21:11:37
AnyBackup 的物理备份工具 mysqlphyproc 源于开源热备工具 Percona XtraBackup ,根据产品自身特点和需求对其进行了二次开发。

完全备份

AnyBackup 备份 MySQL 数据库,物理备份完全备份的原理如下:

AnyBackup 客户端安装完成以后,创建物理备份任务, 任务发起时:
1. 备份开始前持续监控 Redo 日志的变化。
2. 客户端拷贝数据文件,通过数据流将数据发送到备份存储。
3. 备份监控到的 Redo 日志变化的数据,并将变化的数据备份到存储。
4. 备份 Binlog 日志文件到备份存储。
5. 备份结束后将备份元数据信息写入到备份存储,形成完备时间点。

 

增量备份/差异备份

 

AnyBackup备份 MySQL 数据库,物理备份增量备份/差异备份的原理如下:

 

AnyBackup 完成物理备份完全备份后可以发起增量备份, 任务发起时:
1. 备份开始前持续监控 Redo 日志的变化。
2. 客户端备份自上次备份时数据文件对应 LSN 之后的变化块,通过数据流将数据发送到备份存储。
3. 备份监控到的 Redo 日志变化的数据,并将变化的数据备份到存储。
4. 备份 Binlog 日志文件到备份存储。
5. 备份结束后将备份元数据信息写入到备份存储,形成增量时间点。
说明
增量备份和差异备份的区别

 

差异备份和增量备份原理相同,增量备份是基于上一次成功的备份文件备份增量数据块,差异备份是基于上一次成功的完全备份备份增量数据块。

 

恢复到多次增量备份后的时间点需要按照时间先后顺序把所有增量备份时间点的数据块应用到完全备份数据中,最后将完全备份数据恢复到MySQL数据目录,启动数据库服务。

 

恢复到差异备份时间点时,只需要将差异备份的数据块应用到完全备份的数据中,最后将完全备份的数据恢复到MySQL数据目录,启动数据库服务。
差异备份的备份数据比增量备份大但是恢复速度比增量备份快,可根据实际需要选择备份类型。
如何满足增量备份/差异备份条件?
1. 任务备份成功且备份时间点未被删除;
2. MySQL 数据库备份成功后,保留的副本未被全部删除;
3. 任务的数据路径与归档日志路径未发生变更;
4. 任务未执行过恢复任务到备份实例的数据路径下。

归档日志备份

AnyBackup 备份 MySQL 数据库,物理备份归档日志备份的原理如下:
1. 基于上一次成功的备份,备份变化的 Binlog 日志到备份存储;
2. 备份结束后将备份元数据信息写入到备份存储,形成归档日志时间点;
3. 在尚未进行完全备份的情况下,进行归档日志备份时,会自动转为完全备;