3-1 xtrabackup 备份恢复
最后更新于:2022-04-02 07:43:40
#### xtrabackup简介
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),Xtrabackup有两个主要的工具:xtrabackup、innobackupex,其中xtrabackup只能备份InnoDB和XtraDB两种数据表,innobackupex则封装了xtrabackup,同时可以备份MyISAM数据表。Xtrabackup做备份的时候不能备份表结构、触发器等等
>备注:xtrabackup不支持TokuDB的热备份,需要使用mysqldump或mysqlpump
##### 特点:
1. 备份过程快速、可靠;
2. 备份过程不会打断正在执行的事务;
3. 能够基于压缩等功能节约磁盘空间和流量;
4. 自动实现备份检验;
5. 还原速度快
#### 安装
```shell
cd /opt/
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.7/binary/tarball/percona-xtrabackup-2.4.7-Linux-x86_64.tar.gz
tar -zxvf percona-xtrabackup-2.4.7-Linux-x86_64.tar.gz
cp -a percona-xtrabackup-2.4.7-Linux-x86_64/bin/* /usr/bin/
```
#### 全备 + 恢复
备份
```shell
./xtrabackup --backup --target=/data/backup/ -uroot -p123.com -S /tmp/mysql3306.sock
```
恢复
```shell
xtrabackup --prepare --target-dir=/tmp/backup
xtrabackup --copy-back --target-dir=/tmp/backup --datadir=/data/mysql3306
chown mysql.mysql /data/mysql3306 -R
/etc/init.d/mysql.server start
```
perpare是将数据准备到同一时间点,因为备份时所有数据文件都是在不同时间点,直接启动会造成冲突
#### 全备 + 增量 + 恢复
';