前言:说到MySQL备份,主要采用的方法无非就是mysqldump/mydumper以及我们今天要说的热备利器xtrabackup。

一、安装依赖

  1. yum install -y perl-DBD-MySQL perl-Digest-MD5 perl-DBI perl-Time-HiRes perl-IO-Socket-SSL libev-devel rsync

二、问题现象

如果出现提示缺少libev.so.4(),上传libev-4.15-6.el7.x86_64.rpm,然后 rpm安装

  1. rpm -ivh libev-4.15-6.el7.x86_64.rpm

三、安装xtrabackup

上传xtrabackup安装包,这里我选择的是2.4.8

  1. rpm -ivh percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm

四、xtrabackup使用

1.全备

  1. innobackupex --user=root --password=123456 /databackup/

2.增量备份

  1. innobackupex --user=root --password=123456 --incremental /databackup/ --incremental-dir /databackup/2013-09-10_22-12-50/

3.全量恢复

  • 删除datadir内所有文件

  • 应用日志

  1. innobackupex --defaults-file=/etc/my.cnf --apply-log /storage/dump/ --use-memory=3G
  • 拷贝数据
  1. innobackupex --defaults-file=/etc/my.cnf --copy-back /storage/dump/ --use-memory=3G
  • 更改文件权限
  1. chown -R mysql:mysql /storage/mysql
  • 启动MySQL
    4.增量恢复

  • 删除datadir内所有文件

  • 应用全量日志

  1. innobackupex --apply-log --redo-only /databackup/2013-09-10_22-12-50/
  • 应用增量日志,合并到全量目录
  1. innobackupex --apply-log --redo-only --incremental /databackup/2013-09-10_22-12-50/ --incremental-dir=/databackup/2013-09-10_22-15-45/
  • 恢复数据
  1. innobackupex --copy-back /databackup/2013-09-10_22-12-50/
  • 修改文件权限
  1. chown mysql.mysql /usr/local/mysql/data/ -R
  • 启动MySQL