xtrabackup之Innobackupex增量备份及恢复
演示增量备份
#启动一个全备
innobackupex \
> --defaults-file=/mysql/mysqldata//my.cnf \
> --host=127.0.0.1 \
> --user=xtrabk \
> --password='onlybackup' /mysql/mysqldata/backup/ ............
:: innobackupex: completed OK!
[mysql@hadoop1 mysqldata]$
#新增记录,以便区分全备与增备
[mysql@hadoop1 mysqldata]$ mysql
mysql> create database polestar_myisam;
mysql> create database polestar_innodb;
mysql> create table m_polestar engine=myisam select * from mysql.user;
mysql> create table i_polestar engine=innodb select * from mysql.user;
#启动一个增量备份
innobackupex \
--defaults-file=/mysql/mysqldata//my.cnf \
--host=127.0.0.1 \
--user=xtrabk \
--password='onlybackup' \
--incremental-basedir=/mysql/mysqldata/backup/--27_05-- \
--incremental /mysql/mysqldata/backup/ ............
:: innobackupex: completed OK!
[mysql@hadoop1 mysqldata]$
#再新增记录,以便区分第一次增备
mysql> use polestar_myisam;
Database changed
mysql> insert into m_polestar select * from mysql.user;
mysql> use polestar_innodb;
mysql> insert into i_polestar select * from mysql.user;
#以上次增量备份为基础 再次增量备份
innobackupex \
--defaults-file=/mysql/mysqldata//my.cnf \
--host=127.0.0.1 \
--user=xtrabk \
--password='onlybackup' \
--incremental-basedir=/mysql/mysqldata/backup/--27_06-- \
--incremental /mysql/mysqldata/backup/ .......
:: innobackupex: completed OK!
[mysql@hadoop1 mysqldata]$
至此,三次备份完成(一次全备,两个增量备份).下面看下三个备份集中的LSN号顺序:
[mysql@hadoop1 backup]$ more ./--27_05--/xtrabackup_checkpoints
backup_type = full-backuped
from_lsn =
to_lsn =
last_lsn =
[mysql@hadoop1 backup]$ more ./--27_06--/xtrabackup_checkpoints
backup_type = incremental
from_lsn =
to_lsn =
last_lsn =
[mysql@hadoop1 backup]$ more ./--27_06--/xtrabackup_checkpoints
backup_type = incremental
from_lsn =
to_lsn =
last_lsn =
[mysql@hadoop1 backup]$
恢复增量备份
#先备份整个备份集
[mysql@hadoop1 mysqldata]$ ls
backup
[mysql@hadoop1 mysqldata]$ cp -rf backup backup02
#先做基于全备的apply,注意,此时使用了--redo-only
innobackupex \
--defaults-file=/mysql/mysqldata//my.cnf \
--apply-log \
--redo-only \
/mysql/mysqldata/backup/--27_05-- ..........
:: innobackupex: completed OK!
[mysql@hadoop1 ]$
注意目录中文件的修改时间变化
[mysql@hadoop1 --27_05--]$ pwd
/mysql/mysqldata/backup/--27_05--
[mysql@hadoop1 --27_05--]$ ls -l
total
-rw-rw-r-- mysql mysql May : backup-my.cnf
-rw-rw---- mysql mysql May : ibdata01
drwx------ mysql mysql May : mysql
drwxrwxr-x mysql mysql May : performance_schema
drwxrwxr-x mysql mysql May : polestar
drwxrwxr-x mysql mysql May : polestar02
drwxrwxr-x mysql mysql May : test
-rw-rw-r-- mysql mysql May : xtrabackup_binary
-rw-rw-r-- mysql mysql May : xtrabackup_binlog_info
-rw-rw---- mysql mysql May : xtrabackup_checkpoints
-rw-rw---- mysql mysql May : xtrabackup_logfile
[mysql@hadoop1 --27_05--]$
--基于第一个增备的apply
innobackupex \
--defaults-file=/mysql/mysqldata//my.cnf \
--apply-log \
--redo-only \
/mysql/mysqldata/backup/--27_05-- \
--incremental-dir=/mysql/mysqldata/backup/--27_06--
...........
:: innobackupex: completed OK!
[mysql@hadoop1 ]$
注意文件的修改时间和上次恢复时的不同
[mysql@hadoop1 --27_05--]$ ls -l
total
-rw-rw-r-- mysql mysql May : backup-my.cnf
-rw-rw---- mysql mysql May : ibdata01
drwx------ mysql mysql May : mysql
drwxrwxr-x mysql mysql May : performance_schema
drwxrwxr-x mysql mysql May : polestar
drwxrwxr-x mysql mysql May : polestar02
drwxrwx--- mysql mysql May : polestar_innodb
drwxrwxr-x mysql mysql May : polestar_myisam
drwxrwxr-x mysql mysql May : test
-rw-rw-r-- mysql mysql May : xtrabackup_binary
-rw-rw-r-- mysql mysql May : xtrabackup_binlog_info
-rw-rw---- mysql mysql May : xtrabackup_checkpoints
-rw-rw---- mysql mysql May : xtrabackup_logfile
[mysql@hadoop1 --27_05--]$
--基于最后一个增备的apply
innobackupex \
--defaults-file=/mysql/mysqldata//my.cnf \
--apply-log \
/mysql/mysqldata/backup/--27_05-- \
--incremental-dir=/mysql/mysqldata/backup/--27_06-- ...........
:: innobackupex: completed OK!
[mysql@hadoop1 ]$
注意文件修改时间的变化
[mysql@hadoop1 --27_05--]$ ls -l
total
-rw-rw-r-- mysql mysql May : backup-my.cnf
-rw-rw---- mysql mysql May : ibdata01
drwx------ mysql mysql May : mysql
drwxrwxr-x mysql mysql May : performance_schema
drwxrwxr-x mysql mysql May : polestar
drwxrwxr-x mysql mysql May : polestar02
drwxrwx--- mysql mysql May : polestar_innodb
drwxrwxr-x mysql mysql May : polestar_myisam
drwxrwxr-x mysql mysql May : test
-rw-rw-r-- mysql mysql May : xtrabackup_binary
-rw-rw-r-- mysql mysql May : xtrabackup_binlog_info
-rw-rw---- mysql mysql May : xtrabackup_checkpoints
-rw-rw---- mysql mysql May : xtrabackup_logfile
[mysql@hadoop1 --27_05--]$
数据库恢复
innobackupex \
--defaults-file=/mysql/mysqldata//my.cnf \
--copy-back \
/mysql/mysqldata/backup/--27_05-- ...... :: innobackupex: completed OK!
[mysql@hadoop1 ]$
--验证
[mysql@hadoop1 ]$mysqld_safe --defaults-file=/mysql/mysqldata//my.cnf &
mysql> use polestar_myisam;
mysql> show tables;
+---------------------------+
| Tables_in_polestar_myisam |
+---------------------------+
| m_polestar |
+---------------------------+
mysql> select count(*) from m_polestar;
+----------+
| count(*) |
+----------+
| |
+----------+
mysql>
小结
a、增量备份是基于增量或全备的基础之上完成的。
b、增量备份的基础是InnoDB引擎使用了LSN机制,非InnoDB引擎不存在增量备份的说法,每次都是全备。
c、对于增量备份的恢复期间需要对已提交的事务前滚,未提交的事务回滚。
d、增量备份的恢复应按照备份的顺利逐个逐个replay,需要使用--apply-log --redo-only选项。
e、仅仅最后一个增量备份不需要使用--redo-only选项
xtrabackup之Innobackupex增量备份及恢复的更多相关文章
- innobackupex做MySQL增量备份及恢复【转】
创建备份用户 mysql> grant process,reload,lock tables,replication client on *.* to 'backup'@'localhost' ...
- innobackupex在线备份及恢复(全量和增量)
Xtrabackup是由percona开发的一个开源软件,它是innodb热备工具ibbackup(收费的商业软件)的一个开源替代品.Xtrabackup由个部分组成:xtrabackup和innob ...
- [MySQL] innobackupex在线备份及恢复(全量和增量)
安装percona-xtrabackup 方法1: percona-xtrabackup-2.1.9-744-Linux-x86_64.tar.gz(D:\share\src\linux-mysql) ...
- 在线热备份数据库之innobackupex 增量备份InnoDB
在线热备份数据库之innobackupex 增量备份InnoDB 什么是增量备份?其原理是什么? 增量备份是基于上一次备份后对新增加的内容进行备份,优点相较于完整备份而言备份内容少时间短,能够节省磁盘 ...
- Xtrabackup全量 增量备份详解
xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有开源,免费,支持在线热备,备份恢复速度快,占用磁盘空间小等特点,并且支持不同情况下的多种备份 ...
- ceph中rbd的增量备份和恢复
ceph中rbd的增量备份和恢复 ceph的文档地址:Ceph Documentation 在调研OpenStack中虚机的备份和恢复时,发现OpenStack和ceph紧密结合,使用ceph做O ...
- 【mysql】使用xtrabackup在线增量备份及恢复数据库
一.Percona Xtrabackup 简介 1.Xtrabackup bin目录文件 介绍 1)innobackupex innobackupex 是xtrabackup的一个符号链接 . in ...
- 16、xtrabackup 增量备份及恢复
备份命令如下 备份命令如下 全量备份 # innobackupex -p123123 /backup # ls /backup 2017-04-08_13-36-11 增量备份或差量备份 # inn ...
- innobackupex的备份和恢复
http://blog.itpub.net/15480802/viewspace-1173479/ 1 原理 分3个阶段:备份backup – 预恢复prepare -- 恢复restore 注 ...
随机推荐
- VS2010 MSDN配置
安装VS2010之后总是要装MSDN的,不然写起程序来还真不方便.前段时间换了电脑后,折腾了好久才把VS和MSDN装好,所以为了方便自己和别人特地把配置MSDN的详细步骤写出来: 1. ...
- WEB前端研发工程师编程能力成长之路(1)(转)
WEB前端研发工程师编程能力成长之路(1) [背景] 如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧: 如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧: ...
- Effective Modern C++翻译(1):序言
/*********************************************************** 关于书: 书是我从网上找到的effective Modern C++的样章,内 ...
- OSGI.NET 插件启动方法
在使用OSGI.NET框架来开发插件过程中,有时为了测试一个插件,或运行一个插件,需要启动主个插件,如果没有主窗口程序,那么该 如何启动一个插件,而不是再开发一个主窗口程序(那样是不是太麻烦,仅仅是为 ...
- 洛谷P1984 SDOI2008烧水问题
P1984 [SDOI2008]烧水问题 186通过 438提交 题目提供者lych 标签数论(数学相关)模拟各省省选 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 求助! 也是醉了... ...
- C#中messagebox用法
[函数] <整型> MessageBox(<字符串 Text, <字符串> Title, <整型> nType,MessageBoxIcon);[函数说明] ...
- 【HTML/XML 12】URI、URN、URL的联系和区别
导读:在学习XML的时候,书中有很多个地方都提到URL等几个概念,再之前做项目的时候,重定向或是转发时,也用到了这个URL,在学习Ajax时,ajax破坏了统一资源定位(URN)都或多或少的接触到了这 ...
- Leetcode008. String to Integer (atoi)
/* improvement on dealing with overflow accroding to this: * https://discuss.leetcode.com/topic/5745 ...
- 复杂的sql 一对多查询
SELECT distinct u.Name as UserName, a.OrderId, ( select d.SignCity from T_O ...
- 导入Excel的时候使用TransactionScope事务控制来进行数据
最近,项目需要将Excel里面的数据导入到数据库里面,但是由于Excel里面的数据的合法性和数据格式的不确定性.所以不可能每读出一条数据,就保存到数据库中. 这就使用到了TransactionScop ...