首页 > 文章列表 > MySQL5.7备份恢复工具—Xtrabackup实战

MySQL5.7备份恢复工具—Xtrabackup实战

mysql
261 2023-05-31

一、基础知识

1、mysql逻辑备份与物理备份的区别

MySQL 备份通常分为两种类型:逻辑备份和物理备份。这两种备份方法各有优缺点,适用于不同的场景。

逻辑备份:

逻辑备份是从数据库中导出数据和结构的 SQL 语句。这种备份通常使用 mysqldump 工具来完成。逻辑备份的主要优点是它具有较高的可移植性,可以在不同架构和版本的 MySQL 服务器上还原。但是,逻辑备份可能需要更长的时间来完成,特别是在处理大型数据库时。

逻辑备份的主要特点:

生成的备份文件是文本文件,包含 SQL 语句。备份和恢复速度相对较慢。可移植性好,可以在不同版本和架构的 MySQL 服务器上使用。可以选择性地备份和恢复特定的数据库、表或记录。

物理备份:

物理备份是直接复制数据库的数据文件、索引文件和日志文件。这种备份方法通常使用文件系统快照或第三方工具(如 Percona XtraBackup)来完成。物理备份的主要优点是它通常更快,因为它不需要转换数据。然而,物理备份可能不如逻辑备份可移植,因为它依赖于特定的文件系统和操作系统。

物理备份的主要特点:

生成的备份文件是二进制文件,包含数据库的实际数据文件、索引文件和日志文件。备份和恢复速度相对较快。可移植性较差,通常只能在相同版本和架构的 MySQL 服务器上使用。通常需要停止数据库或在读锁模式下进行备份,以确保数据的一致性。

总之,逻辑备份和物理备份有各自的优缺点,根据不同的应用场景和需求来选择合适的备份方法。

今天我们分享的主角就是大名鼎鼎的mysql物理备份神器-Percona XtraBackup

二、Percona XtraBackup的安装

1、环境描述

操作系统版本:CENTOS 7.9MYSQL数据库版本:5.7数据库实例端口:3307

2、安装过程

(1)安装yum源

1、删库并停止数据库。2、备份myql数据目录。cp -rpf /data/3307/data /data/3307/data_bak

3、日志包含了redo以及undo的操作,应用过程类似与mysql hang机后的recovery操作,完成后备份处于一致性状态。

5、更改mysql数据目录的权限为mysql。6、启动数据库,至此数据恢复完成/etc/init.d/mysql3307 start

2、增量备份与恢复

(1)增量备份原理

增量备份有两种方法:

方法一:针对全量的basedir做增量。

总是针对全量的basedir做增量,这个方式恢复起来就特别简单了,只需要将最后一次的增量备份合并到全量备份里,就可以恢复了。

第一种方法示例图: 总是将1月1日的全备作为basedir,所以FROM_LSN号总是5000。

方法二:总是针对上一次增量,做增量备份。

总是针对上一次的增量,做增量备份。这个方式的恢复,就要逐一合并了。总是把上一次(最近一次)的备份作为basedir

方法二示意图:

下面介绍的方法是针对第二种的。

(2)增量恢复实验过程

先来一次全备,两次增备

(2)模拟删除库(删除之前先备份一下目录 )。(3)恢复数据。innobackupex --defaults-file=/etc/my3307.cnf --copy-back --rsync /backup/mysql/full_2023-05-10_14-08-36_3

(4)修改权限。

恢复时报Xtrabackup –copy-back fail Can’t create/write to file ‘./undo_001’。解决方法:/etc/my.cnf配置文件中注释掉如下代码:#innodb_undo_directory=.