Home  >  Article  >  Database  >  MySQL备份与恢复之percona-xtrabackup实现增量备份及恢复

MySQL备份与恢复之percona-xtrabackup实现增量备份及恢复

WBOY
WBOYOriginal
2016-06-07 17:33:33862browse

首先,使用percona-xtrabackup工具对数据库进行全备,然后再每次数据库的数据更新后对数据进行增量备份,每次增量备份均在上一次

一 文章回顾

在上一篇文章,我们讲到percona-xtrabackup软件的使用,这一篇文章我们讲解percona-xtrabackup实现增量备份及恢复。 

二 增量备份示意图

 

 

三 percona-xtrabackup实现增量备份及恢复原理 

首先,使用percona-xtrabackup工具对数据库进行全备,然后再每次数据库的数据更新后对数据进行增量备份,每次增量备份均在上一次备份的基础上。恢复时依次把每次增量备份的数据恢复到全备中,最后使用合并的数据进行数据恢复。 

四 percona-xtrabackup实现增量备份及恢复

 

第一步,全备

[root@serv01 databackup]# innobackupex --user=root --password=123456 /databackup/

 

第二步,查看数据

mysql> use larrydb; Database changed mysql> select * from class; +------+-------+ | cid | cname | +------+-------+ | 1 | linux | | 2 | dab | | 3 | Devel | +------+-------+ 3 rows in set (0.00 sec) mysql> select * from stu; +------+----------+------+ | sid | sname | cid | +------+----------+------+ | 1 | larry007 | 1 | +------+----------+------+ 1 row in set (0.00 sec)

 

第三步,,更新数据

mysql> insert into stu values(2,'larry02',1); Query OK, 1 row affected (0.00 sec) mysql> select * from stu; +------+----------+------+ | sid | sname | cid | +------+----------+------+ | 1 | larry007 | 1 | | 2 | larry02 | 1 | +------+----------+------+ 2 rows in set (0.00 sec)

 

第四步,增量备份,进行了全备和第一次增量备份,所以有两个备份文件夹。我们每次增量备份都是针对上一次备份。

#--incremental:增量备份的文件夹 #--incremental-dir:针对哪个做增量备份 [root@serv01 databackup]# innobackupex --user=root --password=123456 --incremental /databackup/ --incremental-dir /databackup/2013-09-10_22-12-50/ InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy and Percona Inc 2009-2012. All Rights Reserved. …… innobackupex: Backup created in directory '/databackup/2013-09-10_22-15-45' innobackupex: MySQL binlog position: filename 'mysql-bin.000004', position 353 130910 22:16:04 innobackupex: completed OK! [root@serv01 databackup]# ll total 8 drwxr-xr-x. 9 root root 4096 Sep 10 22:13 2013-09-10_22-12-50 drwxr-xr-x. 9 root root 4096 Sep 10 22:16 2013-09-10_22-15-45

 

第五步,再次插入数据

mysql> insert into stu values(3,'larry03',1); Query OK, 1 row affected (0.00 sec) mysql> select * from stu; +------+----------+------+ | sid | sname | cid | +------+----------+------+ | 1 | larry007 | 1 | | 2 | larry02 | 1 | | 3 | larry03 | 1 | +------+----------+------+ 3 rows in set (0.00 sec)

 

第六步,再次增量备份

[root@serv01 databackup]# ll total 8 drwxr-xr-x. 9 root root 4096 Sep 10 22:13 2013-09-10_22-12-50 drwxr-xr-x. 9 root root 4096 Sep 10 22:16 2013-09-10_22-15-45 [root@serv01 databackup]# innobackupex --user=root --password=123456 --incremental /databackup/ --incremental-dir /databackup/2013-09-10_22-15-45/

 

第七步,再次插入数据

mysql> insert into stu values(4,'larry04',1); Query OK, 1 row affected (0.00 sec) mysql> select * from stu; +------+----------+------+ | sid | sname | cid | +------+----------+------+ | 1 | larry007 | 1 | | 2 | larry02 | 1 | | 3 | larry03 | 1 | | 4 | larry04 | 1 | +------+----------+------+ 4 rows in set (0.00 sec)

更多详情见请继续阅读下一页的精彩内容:

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn