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 注 ...
随机推荐
- PHP获取文件目录dirname(__FILE__),getcwd()
以discuz x2.5为例 D:/www/upload2.5/test.php D:/www/upload2.5/source/class/class_test.php test.php文件如下 & ...
- OC基础(12)
new方法实现原理 类的本质 类的启动过程 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bo ...
- Android中MenuInflater实例
我们知道,LayoutInflater是用来实例化整个布局文件,而MenuInflater是用来实例化Menu目录下的Menu布局文件的. 传统意义上的菜单定义需要Override Activity的 ...
- 【PL/SQL练习】函数
1.必须返回一个值2.只能在表达式调用 SQL> create or replace function fun1 return number is v_sum_sal emp.sal%type; ...
- socket学习笔记——select与epoll函数的使用(linux)
select.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <u ...
- LA3027 合作网络-并查集压缩路径
有N个结点 一次 I u v 操作表示把结点u的父结点设为v,距离为|u-v|%1000.输入保证执行指令前u没有父结点 一次E u 操作表示询问u到根结点的距离 O操作表示结束 #include&l ...
- PowerDesigner之PDM(物理概念模型)
一.PDM概述 PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库. PDM中涉及到的基本概念包括: 表: 列: 视图: 主键: 候选键: 外键: 存 ...
- 代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码
代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码
- ASP.NET MVC学习1
ViewBag是一个dynamic(动态类型)类型集合,可以动态添加任何类型的任意名称的属性和值,ViewBag是Controller和view之间传递数据的,如以下: ViewBag.HtmlStr ...
- JS 随机数
function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random(); return(Min + Math.r ...