MYSQL备份恢复知识:第一章:备份操作举例

1. 备份工具

MySQL数据库的备份方式有两大类:一是物理备份,它对数据文件和日志进行整体备份;二是逻辑备份,通过DUMP工具将数据导出。具体的方法有以下几种:
• 物理备份,MEB工具,是商用版本推荐的解决方案;
• 物理备份,xTraBackup工具,Percona公司提供的第三方开源工具;
• 逻辑备份,MYSQLDUMP,MySQL内置工具,在逻辑层导出表数据;
• 物理备份,快照方式,在文件系统、卷或存储层对数据库目录进行快照并拷贝。
这些方式各有特点:

方式优点缺点
MEB自动热备份工具,支持本地备份,支持SBT方式与备份软件对接仅包含在企业版本中,社区版本不包括此功能
xTraBackup第三方自动热备份工具,开源不支持SBT方式
MYSQLDUMPMySQL内置命令,所有版本均包含此工具为了保证数据一致性,需要在备份期间对数据库进行静默;没有备份元数据管理。
快照备份速度快,不需要额外的工具。虽然也需要静默,但是静默时间短,仅仅为快照生成提供时间窗口。需要第三方技术辅助,没有备份元数据管理

2. MEB备份举例

为了更直观的理解MySQL数据库备份的知识,我们从一个备份操作的例子开始。目前在现有的众多备份工具中,我个人认为MEB(MySQL Enterprise Backup)是最成熟的,也是功能最完善的。因此,我们将以MEB的操作为例。

$ mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/tmp/full backup

mysqlbackup是MEB的执行程序,–defaults-file是参数文件位置,–backup-dir是备份数据保存的路径,backup是操作类型。
以下是命令的输出,我们将分段介绍这些信息的含义:
1) 生成备份作业ID,拷贝auto.cnf文件(文件内容为server id)
在这里插入图片描述

2) 开启redo日志归档,保证在备份期间生成的redo不会因为循环被覆盖。如果备份的redo信息不完整,可能会导致恢复时数据不一致。
在这里插入图片描述

3) 拷贝系统表空间文件
在这里插入图片描述

4) 开启实例锁,获取一致状态的数据结构信息
在这里插入图片描述

5) 归档线程捕获redo的变化
在这里插入图片描述

6) 拷贝InnoDB数据文件
在这里插入图片描述

7) 将缓存数据写入磁盘,并进行拷贝。在数据恢复后,直接将当前的缓存数据拷贝回内存,减少缓存的重新生成过程。
在这里插入图片描述

8) 拷贝binary日志。出于安全目的,不拷贝当前正在使用的文件。本例中,从binlog.index中读取binary日志文件列表,binlog.000032是当前使用的,因此只复制binlog.000031及之前的文件。
在这里插入图片描述

9) 开启实例锁,阻断DDL操作。redo日志从内存写入磁盘,这与实例锁无关,只是在同一时间发生。
在这里插入图片描述

10) 开启表级锁,备份非InnoDB的数据文件。非InnoDB没有redo机制,因此必须使用表级锁来保证备份的一致性。
在这里插入图片描述

11) 确认备份数据一致性
在这里插入图片描述

12) 拷贝当前的binary文件。为了保证安全性,当前文件被切换。例如,当前文件是序号32,备份前使用Flush命令将当前文件切换到序号33,再对序号32进行备份。
在这里插入图片描述

13) 保存所有数据库参数
在这里插入图片描述

14) 汇总备份信息

在这里插入图片描述
CSDN视频课程:
https://edu.csdn.net/lecturer/8135?spm=1002.2001.3001.4144

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值