MySQL的xtrabackup备份

##################################################################################
######  
######恢复数据库的时候,需要将备份的日志应用备份的文件中去,让后才能进行恢复
######备份:innobackupex --user=root --password=banma --defaults-file=/etc/my.cnf  --database=testinnodb  /tmp/data/

######恢复2步骤 innobackupex --user=root --password=banma --apply-log /tmp/data/2013-08-23_16-09-10/
[[email protected] 2013-08-23_16-09-10]# rsync -avz testinnodb ib* /usr/local/mysql_data/data/
		chown -R mysql:mysql /usr/local/mysql_data/data/
######
######
######
######
##################################################################################

一、安装部署和过程
1.下载安装
wget http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-1.6.7/binary/Linux/x86_64/xtrabackup-1.6.7.tar.gz 
2.安装需要的库
yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr   bison libtool ncurses-devel zlib-devel
3、解压
tar zxvf xtrabackup-1.6.7.tar.gz  
4、进入目录
cd xtrabackup-1.6.7 
5、复制
cd bin  
cp * /usr/bin  
然后就安装完成了,下面开始备份  

注意:文件解释
innobackupex是我们要使用的备份工具;
xtrabackup是被封装在innobackupex之中的,innobackupex运行时需要调用它;
xtrabackup_51是xtrabackup运行时需要调用的工具;
tar4ibd是以tar流的形式产生备份时用来打包的工具。

二、备份和恢复

6、对某个数据库进行全部备份的命令介绍
innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf --database=test --stream=tar /tmp/data/ 2>/tmp/data/info.log|gzip 1>/tmp/data/test.tar.gz 
说明:
      --database=test 单独对test数据库做备份 ,若是不添加此参数那就那就是对全库做备份
      2>/tmp/data/info.log 输出信息写入日志中
      1>/tmp/data/test.tar.gz 打包压缩存储到该文件中

 (
	 mysql> create table test (id int);  
	Query OK, 0 rows affected (0.06 sec)  
	mysql> insert into test values(1);  
	Query OK, 1 row affected (0.04 sec) 
 )

 7、恢复数据库
 (1)创建一个文件夹
 mkdir /tmp/restore
 cd /tmp/data
 tar -izxvf test.tar.gz -C /tmp/restore

[[email protected] data]# ll /tmp/restore/
总用量 131096
-rw-r--r-- 1 root  root        263  8月 23 14:38 backup-my.cnf
-rw-rw---- 1 mysql mysql 134217728  8月 23 14:22 ibdata1
drwxr-xr-x 2 root  root       4096  8月 23 14:53 test
-rw-r--r-- 1 root  root         13  8月 23 14:38 xtrabackup_binary
-rw-r--r-- 1 root  root         21  8月 23 14:38 xtrabackup_binlog_info
-rw-r--r-- 1 root  root         73  8月 23 14:38 xtrabackup_checkpoints
-rw-r--r-- 1 root  root       2560  8月 23 14:38 xtrabackup_logfile
(2)开始应用日志(将备份文件中的日志,应用到备份文件中的数据文件上,
--apply-log指明是将日志应用到数据文件上,完成之后将备份文件中的数据恢复到数据库中)
[[email protected] restore]# innobackupex --user=root --password=banma --apply-log /tmp/restore/ 
[[email protected] restore]# ll
总用量 526356
-rw-r--r-- 1 root  root        263  8月 23 14:38 backup-my.cnf
-rw-rw---- 1 mysql mysql 134217728  8月 23 14:59 ibdata1
-rw-r--r-- 1 root  root  134217728  8月 23 14:59 ib_logfile0
-rw-r--r-- 1 root  root  134217728  8月 23 14:59 ib_logfile1
-rw-r--r-- 1 root  root  134217728  8月 23 14:59 ib_logfile2
drwxr-xr-x 2 root  root       4096  8月 23 14:53 test
-rw-r--r-- 1 root  root         13  8月 23 14:38 xtrabackup_binary
-rw-r--r-- 1 root  root         21  8月 23 14:38 xtrabackup_binlog_info
-rw-r--r-- 1 root  root         73  8月 23 14:59 xtrabackup_checkpoints
-rw-r--r-- 1 root  root    2097152  8月 23 14:59 xtrabackup_logfile
(3)恢复正式开始
然后把test目录复制到/usr/local/mysql_data/data目录
[[email protected] restore]# rsync -avz test ib* /usr/local/mysql_data/data
sending incremental file list
ib_logfile0
ib_logfile1
ib_logfile2
ibdata1
test/
test/test.MYD
test/test.MYI
test/test.frm

sent 529692 bytes  received 149 bytes  13762.10 bytes/sec
total size is 536880534  speedup is 1013.29
[[email protected] restore]#chown -R mysql:mysql /usr/local/mysql_data/data

三、增量备份和恢复
(1)先添加几条数据
insert into test values(10);
insert into test values(11);
insert into test values(12);
insert into test values(13);
insert into test values(14);
insert into test values(15);
(2)增量备份
[[email protected] data]# innobackupex --user=root --password=banma --database=test --incremental --incremental-basedir=/tmp/restore/ /tmp/data
其中,--incremental指明是增量备份,--incremental-basedir指定上次完整备份或者增量备份文件的位置。
这里的增量备份其实只针对的是InnoDB,对于MyISAM来说,还是完整备份。
在进行增量备份的恢复之前,先关闭数据库,然后删除数据库test

(3)增量备份的恢复
[[email protected] data]# innobackupex -user=root --password=banma --defaults-file=/etc/my.cnf --apply-log /tmp/restore/ --incremental-dir=/tmp/data/2013-08-23_15-22-54/
然后再进入恢复的目录/tmp/data
[[email protected] 2013-08-23_15-22-54]# ll
总用量 172
-rw-r--r-- 1 root root    263  8月 23 15:22 backup-my.cnf
-rw-r--r-- 1 root root 147456  8月 23 15:22 ibdata1.delta
-rw-r--r-- 1 root root     18  8月 23 15:22 ibdata1.meta
drwxr-xr-x 2 root root   4096  8月 23 15:23 test
-rw-r--r-- 1 root root     13  8月 23 15:23 xtrabackup_binary
-rw-r--r-- 1 root root     21  8月 23 15:23 xtrabackup_binlog_info
-rw-r--r-- 1 root root     75  8月 23 15:23 xtrabackup_checkpoints
-rw-r--r-- 1 root root   2560  8月 23 15:23 xtrabackup_logfile

[[email protected] 2013-08-23_15-22-54]# rsync -avz test ib* /usr/local/mysql_data/data/
时间: 2024-10-09 22:33:33

MySQL的xtrabackup备份的相关文章

MySQL之Xtrabackup备份恢复数据库-简介

一.Xtrabackup介绍 1.Xtrabackup是什么 Xtrabackup 是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup 有两个主要的工具:xtrabackup.innobackupex xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表. innobackupex是参考了InnoDB Hotbackup的innoback脚

mysql之Xtrabackup备份及增量备份

Xtrabackup 是由percona提供的mysql数据库备份工具,是一个开源的工具,能够对innodb和xtradb数据库进行热备和增量备份,对于MyISAM, 仅支持到温备,对MyISAM使用增量备份时,其实是完全备份.Xtrabackup使用简单,功能强大. 官方地址:http://www.percona.com/software/percona-xtrabackup/ 安装: percona-toolkit-2.2.17-1.noarch.rpm percona-xtrabackup

Mysql中-Xtrabackup备份和恢复应用

关于Xtrabackup(又或innobackupex)的介绍,详细参考官方文档 Xtrabackup安装指南 文件准备 [[email protected] ~]# cd percona-xtrabackup/ [[email protected] percona-xtrabackup]# ls libev-4.15-1.el6.rf.x86_64.rpm percona-release-0.1-4.noarch.rpm percona-xtrabackup-24-2.4.4-1.el7.x8

Mysql使用xtrabackup备份失败处理

在生产环境中使用的是xtrabackup,对mysql进行备份,每天0点开始备份,周日是全量备份,其他时间是基于周日做的增量备份,通过脚本实现,每天备份完成后会发送短信,突然有一天,备份全部失败,手动执行也无法备份,报错的日志如下: /usr/bin/xtrabackup version 2.4.8 based on MySQL server 5.7.13 Linux (x86_64) (revision id: 97330f7) incremental backup from 70857650

mysql使用xtrabackup备份

Percona Xtrabackup备份mysql (完整备份与增量备份)

Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM 的备份同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流压缩到传输到其它服务器 4.能比较容易地创建主从同步 5.备份MySQL时不会增大服务器

Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)

原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份 同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流

Percona Xtrabackup备份mysql(转)

原文:http://www.drupal001.com/2014/02/percona-xtrabackup-mysql/ Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热

利用Xtrabackup进行mysql数据库的备份

利用Xtrabackup来实现数据库的备份 Xtrabackup是有percona公司开发的一款开源备份工具,它与ibbackup这个备份工具不同的是.ibbackup是一个收费的备份工具,而且在其备份性能上,ibbackup不如Xtrabackup.ibbackup和Xtrabackup都对Innodb存储引擎支持在线物理完全备份和在线物理增量备份,对MyISAM存储引擎来说,只支持温备份而已.更对关于两者的特性比较,请参考http://www.percona.com/software/per