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"