一、安装xtrabackup
官网:Percona XtraBackup for MySQL - Percona
上传至服务器并安装:
rpm -ivh percona-xtrabackup-80-8.0.32-26.1.el7.x86_64.rpm
二、主库全量备份
#使用现有的备份脚本
/home/mysql/bin/mysql_backup/mysql_backup.sh -P3310 --execute
#压缩备份
cd /data/backup/mysql_backup/xxx/physical
tar -cvf mysql_3310_full_20230608.tar ./mysql_3310_full_20230608
三、从库恢复备份
1、从库服务器拉取主库的备份文件
cd /data/mysql_data/
scp -r [email protected]:/data/backup/mysql_backup/xxx/physical/mysql_3310_full_20230608.tar ./mysql_3310_full_20230608.tar
解压:
tar -xvf mysql_3310_full_20230608.tar
关闭从库mysql服务:
/data/app/mysql_8.0/bin/mysqladmin -h 127.0.0.1 -uroot -pxxxxx -P3310 shutdown
将原本MySQL的data文件夹重命名:
mv data/ bakdata
2、还原 首先还原的时候需要先进行解压,将.qp文件解压成.ibd文件,这里需要注意安装qpress
2.1没有qpress,安装qpress
yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum -y install qpress
2.2 将全量备份解压
xtrabackup --decompress --parallel=4 --target-dir=/data/mysql_data/mysql-3310/mysql_3310_full_20230608
2.3 恢复备份
xtrabackup --defaults-file=/data/mysql_data/cnf/my-3310.cnf --prepare --use-memory=1G --target-dir=/data/mysql_data/mysql-3310/mysql_3310_full_20230608
2.4 清理.qp文件,因为MySQl在解压的时候会保留原来的.qp文件,老任目前没有发现可以控制的参数 #多个数据目录也要操作,这一步是为了节约空间,也可以不操作
rm -f *.qp
2.5 重命名
mv ./mysql_3310_full_20230608 ./data
chown -R mysql:mysql ./data/
2.6 启动mysql服务即可看到恢复的数据了!
巨人的肩膀: