xtrabckup 安装
针对不同的mysql版本需要安装不同的版本,mysql 8.x的版本安装 xtrabackup-8.0,mysql 5.x安装xtrabackup-2.4版本
相关下载网址如下:
https://downloads.percona.com/downloads/Percona-XtraBackup-LATEST/Percona-XtraBackup-8.0.27-19/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.27-19.1.el7.x86_64.rpm https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.24/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.24-1.el7.x86_64.rpm http://repo.percona.com/release/7.8/os/x86_64/ https://www.percona.com/doc/percona-xtrabackup/2.4/installation/yum_repo.html
rpm安装方法
下载对应的rpm包之后,
wget https://downloads.percona.com/downloads/Percona-XtraBackup-LATEST/Percona-XtraBackup-8.0.27-19/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.27-19.1.el7.x86_64.rpm yum localinstall percona-xtrabackup-24-2.4.24-1.el7.x86_64.rpm
yum安装方法
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm percona-release enable-only tools release yum install percona-xtrabackup-24
二进制安装
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.21/binary/tarball/percona-xtrabackup-2.4.21-Linux-x86_64.glibc2.12.tar.gz tar xvf percona-xtrabackup-2.4.21-Linux-x86_64.glibc2.12.tar.gz
备份和恢复使用说明:
大概步骤:
- 全备
- 准备;全备之后的内容不能直接使用,需要准备
- 停mysql服务,对mysql数据目录进行备份,因为需要用到里面的binlog,
- 复制备份的数据到mysql本身的数据目录,
- 更改mysql数据目录属主和属组为mysql,
chown -R mysql:mysql /data/mysql
- 启动mysql服务
- 查看备份目录中
cat xtrabackup_binlog_info
binlog位置,从这个位置开始进行增量恢复
使用xtrabckup备份,准备及恢复相关命令:
全备: xtrabackup --defaults-file=/etc/my.cnf --user=root --host=127.0.0.1 --password="123456" --backup --target-dir=/data/backup/xtrabackup_dir/ 准备: xtrabackup --prepare --target-dir=/data/backup/xtrabackup_dir/ 还原: xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/xtrabackup_dir/ 上面命令会读取my.cnf的配置中的data目录,然后把备份的文件复制到data目录,所以要先备份原来的data目录,然后清空 还原就是复制文件,所以不用xtrabackup命令也是可以的,可以用rsync或者cp,保证备份文件全部复制到data目录就可以
binlog增量恢复
上面全备可以查看binlog位置:cat xtrabackup_binlog_info
,也就是全备到这个位置,增量恢复就从这个位置开始,假设全部恢复可以:
mysqlbinlog --start-postion=120 bin-log.00001 >./increase.sql mysql -uroot -p <./increase.sql 2、假设恢复某个时间段 先查看上面位置的时间,然后执行以下: mysqlbinlog --start-datetime='2022-02-16 01:00:02' --stop-datetime='2022-02-16 12:00:05' >./increase.sql mysql -uroot -p <./increase.sql 如果是主从的话,恢复到具体时间点还是要分析一下主库的binlog和从库的binglog时间点问题
参考文档:
https://www.percona.com/doc/percona-xtrabackup/2.4/manual.html
https://www.percona.com/doc/percona-xtrabackup/2.4/innobackupex/creatingabackup_ibk.html
https://www.percona.com/doc/percona-xtrabackup/2.4/xtrabackupbin/xtrabackupbinary.html
https://www.cnblogs.com/f-ck-need-u/p/9018716.html
原文链接:xtrabackup备份使用说明,转载请注明来源!