使用XtraBackup全量备份还原

1.下载 XtraBackup

mysql5.7使用 XtraBackUp2.4版本(mysql8.0使用对应的8.0版本) 下面是网址

https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/

2.安装

需要预先安装依赖包,否会报错
预先安装 libev perl-DBD-MySQL perl-Digest-MD5

yum -y install libev
yum -y install perl-Digest-MD5
yum -y install perl-DBD-MySQL

安装perl-DBD-MySQL报错问题请看
https://www.cnblogs.com/whiteY/p/14021216.html
然后安装XtraBackup rpm安装包

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


验证安装结果,一下表示安装成功

[root@cdh03 tools]# rpm -qa | grep perc
percona-xtrabackup-24-2.4.20-1.el7.x86_64

3.使用步骤

3.1备份

my.cnf.xtra 可以自定义配置文件里边只能存在一个实例,导出哪个数据库端口实例数据就自定义那个实例配置文件

/data/testmysql/mysqlbackup/ 备份的数据文件存储目录

innobackupex  --defaults-file=/etc/my.cnf.xtra  --parallel=4 --user=*** --port=3999 --password="***" --host=192.168.10.***  /data/testmysql/mysqlbackup/

3.2合并日志

innobackupex  --apply-log   --redo-only /data/testmysql/mysqlbackup/2021-09-07_10-12-05

3.3恢复数据

my.cnf 恢复数据使用的配置文件,恢复目录在my.cnf里边进行配置datadir (配置文件数据目录/data/mysqldata3307,想恢复到那个目录下就指定那个目录),恢复后数据将会读配置文件写入到指定目录

mkdir -p /data/mysqldata3307

innobackupex --defaults-file=/etc/my.cnf  --copy-back /data/testmysql/mysqlbackup/2021-09-07_10-12-05/

注意:恢复数据的时候my.cnf只能有一个实例,且实例开头不能带端口 [mysqld]

恢复完后需要创建其他相关目录并改所属组权限后启动服务

mkdir binlog innodb_log innodb_ts log mydata relaylog sock tmpdir

chown -R mysql:mysql /data2/mysqldata3307

systemctl start mysqld@3307

3.4远程备份

innobackupex --defaults-file=/etc/my.cnf3999 --parallel=4 --no-timestamp --user=*** --port=3999 --host=192.168.10.*** --password="***" --stream=tar /tmp | gzip | ssh root@192.168.10.***2 "cat - > /data/testmysql/mysqlbackup/20210906.tar.gz"

详细参考文档
https://www.cnblogs.com/clsn/p/8138015.html

原文地址:https://www.cnblogs.com/whiteY/p/14021824.html