Xtrabackup增量备份、恢复以及时间点恢复

1、记录当前的status信息

| master.000001 |      120 |

2、制作一个完整的备份文件

# innobackupex /backup

备份的文件:/backup/2016-11-16_16-18-54

查看其status信息

# cat xtrabackup_binlog_info

master.000001 120

#

3、修改数据库信息以使得status发生变化

比如:创建了一个表tb1,并插入2条记录

mysql> select * from tb1 ;

+------+-------+

| id   | name  |

+------+-------+

|    1 | tina  |

|    2 | jason |

+------+-------+

记录修改后的status信息

| master.000001 |      442 |

4、用Xtrabackup工具进行增量备份

# innobackupex --incremental /backup --incremental-basedir=/backup/2016-11-16_16-18-54/

增量备份文件1:2016-11-16_16-24-53

查看备份文件信息

# cat xtrabackup_binlog_info

master.000001 442

#

5、进一步修改数据库信息并做增量备份

记录当前的status信息

| master.000001 |      765 |

# innobackupex --incremental /backup --incremental-basedir=/backup/2016-11-16_16-24-53/

当前的增量文件的根目录为上次增量备份文件

增量备份文件2:2016-11-16_16-29-04

查看其xtrabackup_binlog_info

# cat xtrabackup_binlog_info

master.000001 765

#

6、进一步修改数据库信息并记录当前的status信息(时间点数据恢复)

例如:修改一下表明

mysql> alter table tb1 rename tb11 ;

mysql> alter table tb2 rename tb22 ;

记录当前的status

| master.000001 |      967 |

7、模拟库异常无法正常启动

# rm -rf /mydata/data/*

8、对数据库进行增量恢复

8.1 准备增量备份恢复文件

# innobackupex --apply-log --redo-only /backup/2016-11-16_16-18-54/

# innobackupex --apply-log --redo-only /backup/2016-11-16_16-18-54/ --incremental-dir=/backup/2016-11-16_16-24-53/

# innobackupex --apply-log --redo-only /backup/2016-11-16_16-18-54/ --incremental-dir=/backup/2016-11-16_16-29-04/

比对一下:看准备完的增量备份文件的lsn号是否与最后的增量文件中一致,如果相同则,准备完毕

[[email protected] 2016-11-16_16-18-54]# cat xtrabackup_checkpoints

backup_type = log-applied

from_lsn = 0

to_lsn = 1832084

last_lsn = 1832084

compact = 0

recover_binlog_info = 0

[[email protected] 2016-11-16_16-18-54]#

[[email protected] 2016-11-16_16-18-54]# cat ../2016-11-16_16-29-04/xtrabackup_checkpoints

backup_type = incremental

from_lsn = 1826527

to_lsn = 1832084

last_lsn = 1832084

compact = 0

recover_binlog_info = 0

[[email protected] 2016-11-16_16-18-54]#

8.2 进行数据恢复

# innobackupex --copy-back /backup/2016-11-16_16-18-54/

# chown -R mysql.mysql /mydata/data/*

8.3 启动mysql并查看数据是否恢复

mysql> show tables ;

+----------------+

| Tables_in_tina |

+----------------+

| tb1            |

| tb2            |

+----------------+

2 rows in set (0.00 sec)

mysql>

9、进一步进行时间点恢复

返回至第5步和第6步导出二进制日志信息

# mysqlbinlog --start-position=765 --stop-position=967 master.000001  >u1.sql

# mysql <u1.sql

查看时间点恢复是否正常

mysql> show tables ;

+----------------+

| Tables_in_tina |

+----------------+

| tb11           |

| tb22           |

+----------------+

2 rows in set (0.00 sec)

QQ:3369358483

Ok!

时间: 2024-08-07 08:34:14

Xtrabackup增量备份、恢复以及时间点恢复的相关文章

Xtrabackup 增量备份、恢复、原理

整合了网上的一些资料,结合自己的理解,并进行了实验验证 理解一: 1,Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex (1).xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 (2). innobackupex是参考了In

xtrabackup增量备份恢复

一.安装percona-xtrabackup 1.下载软件 percona-xtrabackup-2.2.10.tar.gz 下载网址 http://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.2.10/source/ 2.修改profile export LD_LIBRARY_PATH=/opt/mysql/lib 3.编译安装 tar zxvf percona-xtrabackup-2.2.10.tar.gz cd pe

xtrabackup全量备份+binlog基于时间点恢复

1.通过xtrabackup的备份恢复数据库. 2.找到start-position和binlog名称 cat xtrabackup_info 3.导出mysqlbinlog为sql文件,并确定恢复的时间点 mysqlbinlog --no-defaults --start-position=51178055 --stop-datetime='2017-05-22 15:30' -vv mysql-bin.000004 > backup2.sql 4.导入sql source backup2.s

Mysql的增量备份 及基于时间点与位置的恢复

增量备份的优点是没有重复数据,备份量不大,时间短.缺点也很明显,需要上次完全备份及完全备份之后所有的增量备份才能恢复,反推恢复,操作较为繁琐. Mysql没有提供增量备份的方法,但是可以通过二进制日志间接实现增量备份. 二进制日志对备份的意义如下:1)二进制日志保存了所有更新或者可能更新数据库的日志文件2)二进制日志在启动Mysql服务器后开始记录,并在文件达到max_binlog_size 所设置的大小或者接收到的flush logs命令后重新创建新的日志文件.3)只需要定时执行flush l

XtraBackup增量备份

mysql:5.6.29xtrabackup:2.2.10mysql数据目录:/data/mysqlmysql备份目录:/data/dbbak/ #确保有足够的磁盘空间 官方文档:https://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/incremental_backups_innobackupex.html 1.安装依赖 yum -y install libaio perl-Time-HiRes perl-DBD-MySQ

xtrabackup 增量备份(InnoDB)

mysql> select * from users; +----+-----------+----------+--------------+ | id | name | password | address | +----+-----------+----------+--------------+ | 1 | zhang | 1234 | NULL | | 2 | wang | 4321 | 湖北武汉 | | 3 | li | 5678 | 北京海淀 | | 4 | zhan | 1234

Mysql -- 完全备份 + 增量备份 + 恢复

文章目录 一.数据库备份的分类 二.MySQL 完全备份 (1)完全备份特点 (2)mysqldump 备份库 1.针对单个库进行完全备份 2.针对多个库进行完全备份 3.对所有库进行完全备份 (3)恢复数据库操作 1.source 命令 2.使用 mysql 命令 (4)mysqldump 备份表 1.备份表 2.备份表的结构 (5)恢复表的操作 三.MySQL 增量备份 一.数据库备份的分类: 1.从物理与逻辑的角度,备份可以分为: 物理备份:对数据库操作系统的物理文件(数据文件.日志文件等

Xtrabackup 备份大数据库(全量备份和增量备份)

Xtrabackup Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁): mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适合. Xtrabackup优点 1)备份速度快,物理备份可靠 2)备份过程不会打断正在执行的事务(无需锁表) 3)能够基于压缩等功能节约磁盘空间和流量 4)自动备份校验 5

XtraBackup全备与增量备份

一.XtraBackup安装 下载地址:http://www.percona.com/downloads/XtraBackup/XtraBackup-2.2.8/source/ 安装步骤: ================================ How to build XtraBackup on Linux ================================ Prerequisites -------------$ yum install cmake gcc gcc-c