xtrabackup 是 percona 的一个开源项目,可以热备份innodb,XtraDB,和MyISAM(会锁表)
官方网址http://www.percona.com/docs/wiki/percona-xtrabackup:start
安装:
rpm -ivh --nodeps xtrabackup-1.2-22.rhel5.x86_64.rpm
--nodeps(不检查软件间的依赖关系),因为安装xtrabackup需要mysql_client,但是我的是通过源码安装的。
前奏:
环境变量要设置正确
比如 export PATH=$PATH:/usr/local/mysql/bin 如果mysql没有设置到PATH里 会报错。
1.innobackupex-1.5.1 和 xtrabackup备份详解
========================================================================================
innobackupex-1.5.1会根据/et/my.cnf来确定MySQL的数据位置。
1.普通备份:
innobackupex-1.5.1 [--defaults-file=/etc/my.cnf] --user=root [--host=192.168.1.52] [--password=xxx] [--port=3306]
/data/back_data/ 2>/data/back_data/1.log
备份的目录是/data/back_data/
这里的2>/data/back_data/1.log,是将备份过程中的输出信息重定向到1.log
innobackupex-1.5.1 --slave-info .....
--slave-info会记录复制主日志的 复制点,便于重新做复制用。(用在备份从机器用)
备份后的文件:
xtrabackup_binlog_info -- 存放binlog的信息。(binlog需要另外拷贝备份,如果需要binlog的话)
xtrabackup_checkpoints -- 存放备份的起始位置和结束位置。
恢复:
首先停掉数据库,然后删除数据库目录下的所有数据库文件.
cd /data/mysql_data
rm -rf * # 删除数据目录里的所有文件
innobackupex-1.5.1 --user=root --apply-log /data/back_data/2010-10-26_16-09-37 # 应用日志
innobackupex-1.5.1 --user=root --copy-back /data/back_data/2010-10-26_16-09-37
默认innobackupex-1.5.1会将二进制日志信息存放在文件xtrabackup_binlog_info中发(方便做Slave)。
cd /data
chown -R mysql:mysql mysql_data/
重启mysql服务
2.打包(Tar)备份:
innobackupex-1.5.1 --user=root [--password=xxx] --stream=tar /data/back_data/2/ 2>/data/back_data/2.log 1>/data/back_data/2.tar
还原:
cd /data/back_data/2/
tar ixvf 2.tar
root@mablevi-desktop:/data/back_data/2# ls
2.tar backup-my.cnf ibdata1 ibdata2 mablevi mysql xtrabackup_binlog_info xtrabackup_checkpoints xtrabackup_logfile
准备还原
root@mablevi-desktop:~# innobackupex-1.5.1 --user=xxx [--password=xxx] --apply-log /data/back_data/
......
innobackupex: completed OK!
删除数据目录里的所有文件
rm -rf /data/mysql_data/*
拷贝:
root@mablevi-desktop:~# innobackupex-1.5.1 --user=xxx [--password=xxx] --copy-back /data/back_data/
......
innobackupex: completed OK!
cd /data
chown -R mysql:mysql mysql_data/
重启mysql服务
3. 压缩(tar gzip)备份
innobackupex-1.5.1 --user=root [--password=xxx] --stream=tar
/data/back_data/2/ 2>/data/back_data/2.log | gzip > /data/back_data/2.tar.gz
这里使用了管道|将innobackupex-1.5.1作为gzip的标准输入。恢复,只需要使用tar -izxvf 解压对应的文件后,操作完全同普通备份。
还原:
使用tar –izxvf 解压对应的文件后,操作完全同普通备份。
cd /data/back_data/2/
tar ixvf 2.tar
root@mablevi-desktop://data/back_data/2# ls
backup-my.cnf ibdata1 ibdata2 mablevi mysql xtrabackup_binlog_info xtrabackup_checkpoints xtrabackup_logfile
准备还原:
root@mablevi-desktop:~# innobackupex-1.5.1 --user=xxx [--password=xxx] --apply-log /data/back_data/2/
......
innobackupex: completed OK!
删除数据目录里的所有文件
rm -rf /data/mysql_data/*
root@mablevi-desktop:/data/back_data/2# innobackupex-1.5.1 --user=xxx [--password=xxx] --copy-back /data/back_data/2/
cd /data
chown -R mysql:mysql mysql_data/
重启mysql服务
---------------------------------------------------------------------------------------------------------------------
xtrabackup 备份和恢复
备份:
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/back_data/
恢复:
需要执行两次xtrabackup --prepare
xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/back_data/
xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/back_data/
注意,xtrabackup只备份数据文件,并不备份数据表结构(.frm),所以使用xtrabackup恢复的时候,你必须有对应表结构文件(.frm)。
增量备份:
1. 全量备份
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/back_data/
2. 增量备份
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/back_data_inc/ --incremental-basedir=/data/back_data/
在增量备份的目录下,数据文件都是以.delta结尾的。增量备份只备份上一次全量备份后被修改过的page,所以增量备份只暂用较少的空间。
增量备份可以在增量备份的基础上增量。
增量备份恢复:
我们需要分别对全量、增量备份各做一次prepare操作。
xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/back_data/2010-10-26_16-09-37
xtrabackup --prepare --target-dir=/data/back_data/2010-10-26_16-09-37 --incremental-dir=/data/back_data_inc
xtrabackup --prepare --target-dir=/data/back_data/ #这一步不是必须的
这样,/data/back_data/下的数据文件就可以直接放到你的MySQL数据目录下,恢复数据了。
再次提醒,xtrabackup只备份InnoDB数据文件,表结构是不备份的,所以恢复的时候,你必须有对应表结构文件(.frm)。
rm -rf /data/mysql_data/ib*
cp -i /data/back_data/2010-10-26_16-09-37/ib* /data/mysql_data/
cd /data
chown -R mysql:mysql mysql_data/
2.innobackupex-1.5.1 与 xtrabackup 相结合
=======================================================================================
首先,innobackupex-1.5.1全备份:
innobackupex-1.5.1 --user=root /data/back_data/ 2>/data/back_data/1.log #会生成一个时间文件夹,这里假如是2010-10-29_15-57-44
然后,xtrabackup 做增量备份:
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/back_data_inc/4 --incremental-basedir=/data/back_data/2010-10-29_15-57-44
恢复:
首先停掉数据库,备份二进制日志(如果有的话),然后删除数据库目录下的所有数据库文件.
cd /data/mysql_data
rm -rf * # 删除数据目录里的所有文件
恢复全量备份:
innobackupex-1.5.1 --user=root --apply-log /data/back_data/2010-10-29_15-57-44 # 应用日志
innobackupex-1.5.1 --user=root --copy-back /data/back_data/2010-10-29_15-57-44 # 拷贝文件
恢复增量备份:
xtrabackup --prepare --target-dir=/data/back_data/2010-10-29_15-57-44 --incremental-dir=/data/back_data_inc/5
cd /data
chown -R mysql:mysql mysql_data/
重启mysql服务。
分享到:
相关推荐
本文将重点讲解如何在SUSE 11操作系统上编译并安装XtraBackup,它是一个用于MySQL数据库的开源热备份工具。首先,我们来看看标题提及的两个主要文件:`xtrabackup-1.6.5.tar.gz` 和 `mysql-5.1.59.tar.gz`。 1. **...
《Xtrabackup安装与操作详解》 Xtrabackup是一款强大的开源备份工具,专为InnoDB和XtraDB存储引擎设计,由Percona公司开发,用于MySQL数据库的热备份。它允许在不中断服务的情况下进行完整或增量备份,确保数据安全...
《Xtrabackup2.4.4在MySQL 5.7.27中的应用与安装详解》 MySQL作为世界上最受欢迎的开源关系型数据库管理系统之一,其数据安全性和备份策略至关重要。Xtrabackup是Percona公司开发的一款高效、无锁的热备份工具,...
《Linux环境下Xtrabackup的安装与使用详解》 Xtrabackup是一款专为MySQL数据库设计的高效、安全的备份工具,尤其擅长备份InnoDB和XtraDB存储引擎的数据表。它由Percona公司开发,提供了强大的热备份功能,能够在不...
XtraBackup是一个用来备份 MySQL 的 InnoDB 数据库的开源工具。例如执行增量备份的命令是: # ./xtrabackup --backup --target-dir=/backup/delta --incremental-basedir=/backup/base
3. 使用`./configure`,`make`和`make install`命令进行编译和安装,生成`xtrabackup`和`innobackupex-1.5.1`两个实用工具。 **五、xtrabackup备份和恢复** 1. 在执行备份前,需要确保xtrabackup和MySQL配置文件...
对于支持备份锁的环境,Percona XtraBackup会先备份InnoDB数据,然后应用`LOCK TABLES FOR BACKUP`,复制MyISAM表和其他相关文件。备份过程中,所有必要的文件如.frm、.MRG、.MYD、.MYI、.TRG、.TRN、.ARM、.ARZ、....
1. **安装Xtrabackup**:在Linux系统上,可以通过编译源码或使用包管理器安装。 2. **全量备份**:运行`xtrabackup`命令,创建初始全量备份。 3. **增量备份**:在全量备份后,定期执行增量备份,仅备份变化的数据。...
了解这些基本概念后,你可以查看压缩包内的`基于xtrabackup的MySQL数据库备份及还原Shell脚本`,这个脚本将详细展示如何结合`xtrabackup`和Shell来自动化MySQL数据库的备份与还原流程。在实际使用时,你需要根据自己...
《MySQL数据库备份:innobackupex与xtrabackup详解及实战脚本》 在MySQL数据库管理中,数据安全至关重要,而备份是保障数据安全的重要手段。本文将详细介绍两个用于MySQL数据库物理备份的工具——innobackupex和...
1. 安装Xtrabackup软件包,通常可以通过源码编译或者使用包管理器安装。 2. 配置MySQL服务器,确保有权限访问和备份所需的数据文件。 3. 运行`xtrabackup`命令进行备份,可以指定备份类型(全量或增量),并指定备份...
在实际应用中,Percona Xtrabackup广泛应用于各种规模的企业和组织,从小型网站到大型数据中心,都能看到其身影。它的高性能、易用性和稳定性赢得了业界的广泛认可。 总结来说,Percona Xtrabackup作为MySQL数据库...
安装和配置Percona XtraBackup时,需要遵循官方文档的步骤,确保正确设置权限、参数以及备份策略,以充分利用其功能并降低潜在风险。 总的来说,Percona XtraBackup是MySQL备份解决方案的有力选择,特别是在需要...
- 在备份过程中,Xtrabackup 会持续跟踪并记录所有更改的数据页,确保这些更改的数据页能够在备份完成时被正确地应用。 - 这样做可以确保即使在备份过程中有新的事务提交,备份仍然能够保持数据的一致性。 2. **...
安装Xtrabackup相对简单,可以从Percona官网下载RPM包,或者选择源码编译。RPM包安装方式只需执行下载和yum安装命令即可。Xtrabackup包含xtrabackup和innobackupex两个工具,前者专注于InnoDB和xtradb的数据备份,而...
《Percona Xtrabackup在MySQL数据库备份与恢复中的应用》 MySQL数据库作为全球广泛使用的开源关系型数据库管理系统,其数据的安全性至关重要。在实际操作中,由于各种原因,如硬件故障、软件错误或人为失误,可能会...
1. **下载安装**:从Percona官网或第三方源获取相应版本的压缩包,如"percona-xtrabackup-2.4.8-Linux-x86_64",然后在Linux环境下进行解压。 2. **环境配置**:将解压后的二进制文件路径添加到系统的PATH环境变量中...
4. **恢复机制**:Xtrabackup的恢复过程同样高效,它通过应用备份期间的日志记录到备份数据来实现。这意味着即使在备份过程中数据库发生了大量的变更,恢复过程也能够精确地还原到某一特定时刻的状态。 5. **源码...
3. 在备服务器上进行操作:包括解压备份数据文件、停止MySQL服务、备份备库数据文件、使用innobackupex工具应用日志以及将数据文件恢复到备服务器。 4. 配置主从复制相关的参数:在备服务器上更改复制的配置,以...