物理备份之xtrabackup

xiaoxiao2025-10-03  3

=======**

物理备份之xtrabackup备份

**======

1、安装xtrabackup

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-/percona-release-0.1-3.noarch.rpm yum -y install percona-xtrabackup-24.x86_64

A---- 完全备份流程(全量备份)

mkdir /data 存放备份文件 xtrabackup --backup --user=root --password='123' /data ls /data/backups/2018-09_16-18-57/ 可以看见一个xtrabackup_binlog_info文件里边存放的是position(但你需要此文件的话必须在配置文件中开启二进制) 恢复数据: systemctl stop msyqld rm -rf /var/lib/mysql/* innobackupex --apply-log /data/2018-9_16-18-16/ innobackupex --copy-back /data/2018-9_16-18-16/ chown -R mysql.mysql /var/lib/mysql systemctl restart mysqld */

B---- 增量备份流程

先做一个全量备份: innobackupex --user=root --password='(TianYunYang123)' /data 得到一个文件,例如是2018-09_16-18-57,假设这是今天周一的数据库备份,那么针对明天以及后面的数据进行增量备份 对于后面的每天的数据采取这样方式备份: innobackupex --user=root --password='123' \ >--incremental /data \ >--incremental -basedir=/data/2018-09_16-18-57/ (记得每一天的基于目录是针对前一天的目录即basedir,在连续进行周二到周日的备份后会得到2018-09_17-18-17,2018-09_18-14-27等等) 恢复数据: systemctl stop mysqld rm -rf /var/lib/mysql/* 依次进行重演回滚: 周一:full innobackupex --apply-log --redo-only /xtrabackup/2018-09_16-18-57/ 周二--周四: innobackupex --apply-log --redo-only /xtrabackup/2018-09_16-18-57/ --incremental-dir=/xtrabackup/2018-09_17-18-17/ 依次类推 innobackupex --copy-back /xtrabackup/2016-12-08_10-13-42/ (使用此工具须读取my.cnf的--datadir,而且,datadir目录必须为空目录,其中不能存数据.如果不知道可以使用cp) [cp -rf /data/2018-09_16-18-57/* /var/lib/mysql,每次恢复始终都是拷贝全量的文件] chown -R msyql.mysql /var/lib/mysql systemctl restart msyqld

*****为了了能够正常的恢复数据,我们先确定数据库服务已经停止了,而且对应的数据⽬目录中不不存在数据,然后进行数据还原工作,删除数据⽬目录中的文件与日志

转载请注明原文地址: https://www.6miu.com/read-5037264.html

最新回复(0)