【Mysql备份与恢复三】Xtrabackup物理备份功能测试

【Mysql备份与恢复二】Mysql三种备份方法验证<<<<<<<<<对Mysql的三种主流的备份方式进行了验证。由于业务需求,本次将会对Xtrabackup物理备份的功能进行细致的测试。


测试场景一:增量备份的数据恢复顺序测试

测试目的:

在xtrabackup中进行增量备份的时候,增量备份的数据恢复是有顺序限制的。先对后面的增量备份数据进行恢复,会将完全备份的数据合并为脏数据,从而导致无法恢复前面的增量备份。此场景为增量备份的恢复顺序测试。

测试方案:

1、数据库中存入海量数据

2、进行完全备份与增量备份

3、先恢复增量备份2的数据

4、再恢复增量备份1的数据

5、查看两次增量备份的数据是否都能恢复

测试过程:

1、在179服务器的数据库中通过命令向test3、test4、test5、test6数据库中分别导入samp表、account表;

CREATE TABLE sample(
  id INT(11) NOT NULL AUTO_INCREMENT,
  VALUE INT(5) NOT NULL DEFAULT 0,
  PRIMARY KEY (id)
);
  
INSERT INTO sample(VALUE)
VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);

CREATE TABLE account(
  id INT(11) NOT NULL AUTO_INCREMENT,
  NAME VARCHAR(50) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
);

INSERT INTO account( NAME ) SELECT
CONCAT( 'name', @nownum := @nownum + 1 ) 
FROM
	sample AS a,
	sample AS b,
	sample AS c,
	sample AS d,
	( SELECT @nownum := 0 ) AS e

2、每个account表中有1000条数据;

在这里插入图片描述

3、第一次备份数据

  • 第1次完全备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root\$123 /backup/

第1次完全备份成功,备份文件如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0uNsuO3o-1602764395476)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012085936528.png)]

  • 1.1次增量备份

删除test3的数据库

DROP DATABASE test3;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HiDtmhjL-1602764395478)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012090435305.png)]

进行增量数据备份

mkdir -p /backup/up1

innobackupex --defaults-file=/etc/my.cnf --user=root --password=root\$123 --incremental  --incremental-basedir=/backup/2020-10-12_08-51-51 /backup/up1

增量备份数据成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TGpMfawE-1602764395481)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012090928353.png)]

  • 1.2次增量备份

删除test4的account表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ifVnnhk1-1602764395484)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012091307911.png)]

进行增量数据备份

innobackupex --defaults-file=/etc/my.cnf --user=root --password=root\$123 --incremental  --incremental-basedir=/backup/2020-10-12_08-51-51 /backup/up1

增量备份数据成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SeuAVAuc-1602764395485)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012092704328.png)]

4、第二次备份数据

  • 第2次完全备份

    新增数据库test7,在数据库test7中添加account、sample数据表;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-paQMEaDi-1602764395486)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012093531268.png)]

完全备份数据成功

innobackupex --defaults-file=/etc/my.cnf --user=root --password=root\$123 /backup/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QMmzaMHW-1602764395488)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012093803465.png)]

  • 第2.1次增量备份

新增数据库test8,在数据库test8中添加account、sample数据表;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iTYRKZEG-1602764395489)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012094538540.png)]

进行增量数据备份

mkdir -p /backup/up2

innobackupex --defaults-file=/etc/my.cnf --user=root --password=root\$123 --incremental  --incremental-basedir=/backup/2020-10-12_09-35-11 /backup/up2

增量数据备份成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-br5Ieu2b-1602764395490)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012094818539.png)]

  • 第2.2次增量备份

新增数据库test9,在数据库test9中添加account、sample数据表;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G8kJxLvO-1602764395491)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012095504189.png)]

进行增量数据备份

innobackupex --defaults-file=/etc/my.cnf --user=root --password=root\$123 --incremental  --incremental-basedir=/backup/2020-10-12_09-35-11 /backup/up2

增量备份数据成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-had8G0RM-1602764395492)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012100523402.png)]

5、恢复第1.2次增量备份的数据

  • 回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态:
innobackupex --apply-log --redo-only /backup/2020-10-12_08-51-51/
  • 将第1.2次增量备份整合到第1次全量备份中
innobackupex --apply-log --redo-only /backup/2020-10-12_08-51-51/ --incremental-dir=/backup/up1/2020-10-12_09-21-44
  • 关闭mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ARLQyO88-1602764395493)(C:\Users\powersi\AppData\Roaming\Typora\typora-user-images\image-20201012103026138.png)]

  • 删除/mysql/data目录下的文件
  • 拷贝文件到数据目录
innobackupex --copy
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值