演示增量备份

#启动一个全备
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增量备份及恢复的更多相关文章

  1. innobackupex做MySQL增量备份及恢复【转】

    创建备份用户 mysql> grant process,reload,lock tables,replication client on *.* to 'backup'@'localhost' ...

  2. innobackupex在线备份及恢复(全量和增量)

    Xtrabackup是由percona开发的一个开源软件,它是innodb热备工具ibbackup(收费的商业软件)的一个开源替代品.Xtrabackup由个部分组成:xtrabackup和innob ...

  3. [MySQL] innobackupex在线备份及恢复(全量和增量)

    安装percona-xtrabackup 方法1: percona-xtrabackup-2.1.9-744-Linux-x86_64.tar.gz(D:\share\src\linux-mysql) ...

  4. 在线热备份数据库之innobackupex 增量备份InnoDB

    在线热备份数据库之innobackupex 增量备份InnoDB 什么是增量备份?其原理是什么? 增量备份是基于上一次备份后对新增加的内容进行备份,优点相较于完整备份而言备份内容少时间短,能够节省磁盘 ...

  5. Xtrabackup全量 增量备份详解

    xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有开源,免费,支持在线热备,备份恢复速度快,占用磁盘空间小等特点,并且支持不同情况下的多种备份 ...

  6. ceph中rbd的增量备份和恢复

    ceph中rbd的增量备份和恢复 ceph的文档地址:Ceph Documentation ​ 在调研OpenStack中虚机的备份和恢复时,发现OpenStack和ceph紧密结合,使用ceph做O ...

  7. 【mysql】使用xtrabackup在线增量备份及恢复数据库

    一.Percona Xtrabackup 简介 1.Xtrabackup  bin目录文件 介绍 1)innobackupex innobackupex 是xtrabackup的一个符号链接 . in ...

  8. 16、xtrabackup 增量备份及恢复

    备份命令如下 备份命令如下 全量备份 #  innobackupex -p123123 /backup # ls /backup 2017-04-08_13-36-11 增量备份或差量备份 # inn ...

  9. innobackupex的备份和恢复

      http://blog.itpub.net/15480802/viewspace-1173479/ 1 原理 分3个阶段:备份backup – 预恢复prepare  -- 恢复restore 注 ...

随机推荐

  1. 用了skin皮肤控件之后,报错:容量超出了最大容量 参数名:capacity

    http://blog.csdn.net/keenweiwei/article/details/7403869 用了皮肤控件之后,报错:容量超出了最大容量 参数名:capacity MessageBo ...

  2. js定时器、高亮修改单元格背景色

    window.setInterval() 功能:按照指定的周期(以毫秒计)来调用函数或计算表达式. 语法:setInterval(code,millisec) 解释:code:在定时时间到时要执行的J ...

  3. jsp页面

    //获取根目录 ${pageContext.request.contextPath} //(父页面提交,嵌入页面显示)提交表单,设置响应方法和返回结果页面显示在frame中 <input typ ...

  4. Xcode引入外界文件时选Create groups 或 Create folder references的区别

    一.使用Create groups 我们在项目中可以手动添加一个groups(右键点击选择New Group),但是手动添加的groups实际上并不会存在于项目的目录中,被添加进groups中的文件仍 ...

  5. 翻译:wiki中的business logic词条

    Business logic 业务逻辑 From Wikipedia, the free encyclopedia 来自Wikipedia,自由的百科全书 In computer software, ...

  6. 运行时---关联Associated

    关联:指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分   一.在类的定义之外为类增加额外的存储空间        使用关联,我们可以不用修改类的定义而为其对象增加存储空间.这在我 ...

  7. 一目了然c++虚基类!

    #include <IOSTREAM.H> //基类 class CBase ...{ protected: int a; public: CBase(int na) ...{ a=na; ...

  8. JavaScript创建表格的两种方式

    方式一: var data = [ { id: 1, name: "first", age: 12 }, { id: 2, name: "second", ag ...

  9. oracle:触发器,自治事务 trigger

    create or replace trigger TRI_FC83_INSERT before insert ON FC83 FOR EACH ROW declare PRAGMA AUTONOMO ...

  10. JQ改变URL

    看到搜索按钮可以把网址提供到URL里面 $('#search_submit').click(function(){ var keywords = $('#keywords').val(); locat ...