对于MySQL 5.6和5.7,请下载XtraBackup 2.4.9及其以上版本。
yum -y install mysql-community-libs-compat percona-xtrabackup-24
最好将yum源修改为
cd /etc/yum.repos.d/
mkdir yum_bak
mv * yum_bak
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache
对于MySQL 8.0,请下载XtraBackup 8.0及其以上版本。
yum install -y percona-xtrabackup-80
3、版本查看
innobackupex --version
xtrabackup --version
如果打算将Percona XtraBackup与MySQL 结合使用,还需要开启tools存储库
percona-release enable-only tools release
4.安装qp文件解压工具qpress-11-linux.x64.tar
wget http://www.quicklz.com/qpress-11-linux-x64.tar
5.解压安装工具
tar -xvf qpress-11-linux-x64.tar
cp qpress /usr/bin/
6.备份mysql之前的数据
mkdir data_temp_bak
mv /data/mysql/* /data/data_temp_bak/
7.解压qp文件
#创建一个临时目录upzip_dir
mkdir upzip_dir
#解压文件qp全备文件,让XtraBackup可识别
xbstream -x -p 4 < /root/map.qp -C ./upzip_dir/
innobackupex --parallel 4 --decompress ./upzip_dir
如果是xtrabackup8.0需要执行 先cd到 upzip_dir
xtrabackup --parallel 4 --decompress
但是这个指令默认会到 upzip_dir/xtrabackup_backupfiles 寻找可以decompress的文件,所以我们最好先在
upzip_dir下创建xtrabackup_backupfiles 并在 xbstream -x -p 4 < /root/map.qp -C ./upzip_dir/xtrabackup_backupfiles
也可以不用cd 通过参数指定到 upzip_dir 的绝对目录
xtrabackup --parallel 4 --decompress --target-dir=/root/upzip_dir/xtrabackup_backupfiles/
因为xtrabackup8.0没有innobackupex 这个指令了
8.#读取应用日志,准备恢复数据
innobackupex --apply-log ./unzip_dir
如果是xtrabackup8.0
#全备prepare
xtrabackup --prepare --apply-log-only --target-dir=/root/unzip_dir/xtrabackup_backupfiles
#增备1 prepare ,--target-dir 指向全备目录
xtrabackup --prepare --apply-log-only --target-dir=/root/unzip_dir/xtrabackup_backupfiles --incremental-dir=/root/unzip_dir/xtrabackup_backupfiles/inc1
#增备2 prepare,--target-dir 指向全备目录。最后一个增备可以不用加apply-log-only,加不加效果一样
xtrabackup --prepare --apply-log-only --target-dir=/root/unzip_dir/xtrabackup_backupfiles --incremental-dir=/root/unzip_dir/xtrabackup_backupfiles/inc2
9.#已启动的MySQL需要停止服务
systemctl stop mysqld
10.#将恢复的数据 按照my.cnf中配置的进行恢复,其实就是将之前 第7步 恢复的数据从unzip_dir拷贝到my.cnf中配置datadir下面
innobackupex --defaults-file=/etc/my.cnf --copy-back ./unzip_dir
如果是xtrabackup8.0
#拷回数据,将prepare后的备份数据,拷贝到mysql数据目录下
xtrabackup --copy-back --datadir=/opt/mysql8/datas/mysql --target-dir=/root/unzip_dir/xtrabackup_backupfiles
11.启动mysql
systemctl start mysqld
mysql5.7的恢复完重启之后需要用恢复的那个数据库的账号密码链接
如果是 XtraBackup 8.0 进行恢复 可以参照博客
xtrabackup 8.0 增备与还原实践_几多心跳的博客-CSDN博客_xtrabackup8恢复
mysql备份工具命令xtra_mysql备份工具XtraBackup2.4(安装)_weixin_39853892的博客-CSDN博客