【MySQL】Xtrabackup备份工具使用

  

<强>简介:

  
  

Xtrabackup是由percona提供的mysql数据库备份工具,支持在线热备份(备份时不影响数据读写)。
Xtrabackup有两个主要的工具:Xtrabackup, innobackupex
1, Xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表
2, innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的。innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的同时备份InnoDB和MyISAM引擎的表,但在处理MyISAM时需要加一个读锁,并且加入了一些使用的选项。如slave-info可以记录备份恢复后,作为奴隶需要的一些信息,根据这些信息,可以很方便的利用备份来重做奴隶。

     

本文将介绍如何用innobackupex工具做全量和增量备份。
<>强安装:

  
 <代码类=" language-shell "> yum安装http://www.percona.com/downloads/percona - release/redhat/0.1 4/percona -释放- 0.1 - 4. - noarch.rpm
  yum安装percona-xtrabackup-24
  
  #可使用innobackupex -verion检查版本若出现版本号则安装成功
  # innobackupex——帮助可查看参数帮助 
  

<强>备份前准备:
修改InnoDB为独立表空间模式,即中在my . cnf中所做(mysqld)下设置innodb_file_per_table=1
建议创建一个单独的备份目录例:/xbackup
<强>全备:

  
 <代码类=" language-shell "> innobackupex——defaults-file——用户==/etc/my . cnf中所做的根——密码=/xbackup yourpassword
  #出现完成好的,则代表备份成功,文件会保存至一个以时间戳命名的目录内。 
  

<>强恢复:
若全部恢复,则需要先停止mysql服务,还需确保mysqldata目录下无文件

  
 <代码类=" language-shell "> mysqld停止服务
  innobackupex——运用原木/xbackup/2017 - 09 - 07 - _09 50 - 11/#运用原木称作准备阶段,是为了保持数据一致性,回滚备份过程中未提交的事务,提交已提交的事务
  innobackupex————复制回来/xbackup defaults-file=/etc/my . cnf中所做/2017 - 09 - 07 - _09 50 - 11/乔恩- r mysql: mysql/mysqldata
  服务mysqld开始 
  

<强>单表恢复

  
 <代码类=" language-shell "> innobackupex——运用原木出口/xbackup/2017 - 09 - 07 - _15 - 53 - 53/#若t1表数据误删确保表结构存在
  ALTER TABLE t1丢弃表空间;
  cp/xbackup/2017 - 09 - 07 - _15 53 - 53/测试/t1。{ibd, exp cfg}/mysqldata/测试/乔恩- r mysql: mysql/mysqldata
  ALTER TABLE t1导入表空间; 
  

<>强增量备份与恢复:

  
 <代码类=" language-shell "> innobackupex——defaults-file——用户==/etc/my . cnf中所做的根——密码=皒xxxxx”——no-timestamp增量/xbackup/inc1——incremental-basedir=/xbackup/2017 - 09 - 07 - _09 50 - 11所示
  #恢复
  服务mysqld停止
  innobackupex——运用原木/xbackup/2017 - 09 - 07 - _09 50 - 11/猧ncremental-dir=/xbackup/inc1/innobackupex——复制回来/xbackup/2017 - 09 - 07 - _09 50 - 11/乔恩- r mysql: mysql/mysqldata
  服务mysqld开始 

【MySQL】Xtrabackup备份工具使用