操作系统:centos6.5 x64

环境依赖:

yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf   bison libtool ncurses-devel libgcrypt-devel libev-devel

rpm -ivh percona-xtrabackup-2.3.5-1.el6.x86_64.rpm 

 环境依赖:

 yum install perl-DBD-MySQL.x86_64 perl-IO-Socket-SSL.noarch perl-TermReadKey.x86_64 perl-Time-HiRes.x86_64

 如果安装报错:

 warning: percona-toolkit-2.0.4-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY

error: Failed dependencies:

perl(Time::HiRes) is needed by percona-toolkit-2.0.4-1.noarch

解决办法:

[root@CentOS6 opt]# yum list |grep Time|grep HiRes

然后选择安装的版本。

再次执行: rpm -ivh percona-toolkit-2.2.16-1.noarch.rpm 

 

 查看安装:rpm -ql percona-xtrabackup

 

 自己定义目录:

 全量备份:

 innobackupex   --defaults-file=/etc/my.cnf  --no-timestamp  --port=3306  --user=root --password=6lxxx   /opt/xtrabackup/full

 增量备份1:

  innobackupex   --defaults-file=/etc/my.cnf  --no-timestamp  --port=3306  --user=root --password=6lxxx   /opt/xtrabackup/full

 innobackupex  --defaults-file=/etc/my.cnf --no-timestamp   --incremental /opt/xtrabackup/inc1 --user=root --password=6lxxx  --incremental-basedir=/opt/xtrabackup/full

  增量备份2:

 innobackupex --incremental /opt/mysqlxtradb/backup/inc2 --user=root --password=6lxxx  --incremental-basedir=/opt/mysqlxtradb/backup/inc1/

 

 自动身材时间戳目录:

  innobackupex --user=root --password=6lxxx  /opt/mysqlxtradb/backups

 innobackupex --incremental --user=root --password=6lapp --incremental=/opt/mysqlxtradb/backups/2016-07-25_13-26-11/

innobackupex --incremental  --user=root --password=6lxxx  --incremental-basedir=/opt/mysqlxtradb/backups/2016-07-25_13-26-11/  

 

 

 innobackupex --apply-log --redo-only /opt/xtrabackup/full --incremental-dir=/opt/xtrabackup/inc1

 

 增量还原:

innobackupex --apply-log --redo-only /opt/mysqlxtradb/backup/base

innobackupex --apply-log --redo-only /opt/mysqlxtradb/backup/base --incremental-dir=/opt/mysqlxtradb/backup/inc1

innobackupex --apply-log  /opt/mysqlxtradb/backup/base --incremental-dir=/opt/mysqlxtradb/backup/inc2

innobackupex --apply-log  /opt/mysqlxtradb/backup/base

innobackupex --copy-back  /opt/mysqlxtradb/backup/base


如果出现:

xtrabackup Error: datadir must be specified.

原因为xtrabackup不那么智能找到datadir,此时需要使用

在my.cnf中指定datadir的目录然后使用:

 innobackupex --defaults-file=/etc/my.cnf --copy-back  /opt/mysqlxtradb/backup/base/


 备份单库:--databases=xxxx

 如备份6l_app:

 innobackupex  --defaults-file=/etc/my.cnf  --databases=6l_app  --no-timestamp   --user=root --password=6lxxx   /opt/xtrabackup/6l_app_alone_0808

 ###可以将备份好的文件件打包,然后拷贝到其他的机器上面使用innobackupex还原,步骤如下

 还原:

 首先创建6l_app数据库;

 create database 6l_app;

 停掉mysql:

 /usr/local/mysql/bin/mysqladmin -uroot -p6lapp shutdown

 

prepear准备:

innobackupex --apply-log  /opt/xtrabackup/6l_app_alone_0808/

然后删除datadir目录下面的这三个文件:

rm -rf ibdata1 ib_logfile0 ib_logfile1


然后执行:

##一定加上--force-non-empty-directories,不检查目录是空目录,要不然mysql无法启动这个问题是由于innobackupex的设计为全部数据库的,单库的还原一定加上

innobackupex --defaults-file=/etc/my.cnf --copy-back  --force-non-empty-directories --include=6l_app /opt/xtrabackup/6l_app_alone_0808/

然后更改目录权限:

cd /usr/local/mysql/

chown -R mysql.mysql .

重新启动mysql即可:

/usr/local/mysql/bin/mysqld_safe  --defaults-file=/etc/my.cnf --user=mysql&

登录查看,是否已经成功。

 ######注意查看/etc/my.cnf 中的文件的变化。注意修改