作者:俊达
xtrabackup 反对增量备份。在做增量备份之前,须要先做一个全量备份。xtrabackup 会基于 innodb page 的 lsn 号来判断是否须要备份一个 page。如果 page lsn 大于上次备份的 lsn 号,就须要备份该 page。
1、先进行一次全量备份。
xtrabackup --backup --slave-info -u root -H 127.0.0.1 -P3380 \
-pabc123 --stream=xbstream --target-dir /data/backup/full \
--extra-lsndir=/data/backup/full \
2>/data/backup/full/backup_full.log | gzip - > /data/backup/full/backup_full.gz
备份命令加上了 –extra-lsndir 选项,将 xtrabackup_checkpoints 独自输入到文件。增量备份时须要依据 xtrabackup_checkpoints 中的 lsn。
相干文件:
# ls -l /data/backup/full
总用量 2996
-rw-r--r-- 1 root root 3014835 6 月 25 16:35 backup_full.gz
-rw-r--r-- 1 root root 40313 6 月 25 16:35 backup_full.log
-rw-r--r-- 1 root root 134 6 月 25 16:35 xtrabackup_checkpoints
-rw-r--r-- 1 root root 673 6 月 25 16:35 xtrabackup_info
2、发动增量备份
mkdir /data/backup/inc1
xtrabackup --backup --slave-info -u root -H 127.0.0.1 -P3380 \
-pabc123 --stream=xbstream --target-dir /data/backup/inc1 \
--extra-lsndir=/data/backup/inc1 \
--incremental-basedir=/data/backup/full \
2>/data/backup/inc1/backup_inc1.log | gzip - > /data/backup/inc1/backup_inc1.gz
-
-incremental-basedir:全量备份或上一次增量备份 xtrabackup_checkpoints 文件所在目录
增量备份也能够在上一次增量备份的根底上进行:mkdir /data/backup/inc2 xtrabackup --backup --slave-info -u root -H 127.0.0.1 -P3380 \ -pabc123 --stream=xbstream --target-dir /data/backup/inc2 \ --extra-lsndir=/data/backup/inc2 \ --incremental-basedir=/data/backup/inc1 \ 2>/data/backup/inc2/backup_inc2.log | gzip - > /data/backup/inc2/backup_inc2.gz
咱们能够依据业务的具体情况,制订适合的备份策略。比方每周末进行一次全量备份,其余工夫每天进行一次增量备份。
须要留神的是,复原增量备份时,须要增量备份前的全量备份,以及该增量备份和全量备份之间的所有增量备份。
更多技术信息请查看云掣官网 https://yunche.pro/?t=yrgw