天天看点

7、mysql热备--xtrabackup裸文件备份之增备

※增备必须是基于全备而言的,第一次增备必须是基于上一次全备。

1)先进行一次全备命令

innobackupex --defaults-file=/etc/my.conf --no-timestamp --user dbback --host 192.168.99.22 --password 123 /tmp/backup
           

显示“complete OK”表示全备完成

2)进行第一次增备

innobackupex --defaults-file=/etc/my.conf --no-timestamp --user dbback --host 192.168.99.22 --password 123 --incremental /tmp/backupincr --incremental-basedir=/tmp/backup
           

显示“complete OK”表示增备完成

※/tmp/backupincr目录下xtrabackup_checkpoints 可以看到文件备份类型为incremental

3)进行第二次增备

innobackupex --defaults-file=/etc/my.conf --no-timestamp --user dbback --host 192.168.99.22 --password 123 --incremental /tmp/backupincr2 --incremental-basedir=/tmp/backupinr
           

显示“complete OK”表示增备完成

4)增备恢复

先恢复全备

innobackupex --defaults-file=/etc/my.conf --no-timestamp --user dbback --host 192.168.99.22 --password 123 --apply-log --read-only /tmp/backup
           

显示“complete OK”

恢复第一次增备

innobackupex --defaults-file=/etc/my.conf --no-timestamp --user dbback --host 192.168.99.22 --password 123 --apply-log --read-only /tmp/backup --incremental-basedir=/tmp/backupincr1
           

恢复第二次增备

innobackupex --defaults-file=/etc/my.conf --no-timestamp --user dbback --host 192.168.99.22 --password 123 --apply-log --read-only /tmp/backup --incremental-basedir=/tmp/backupincr2
           

将新的全备文件进行一次完全恢复

innobackupex--defaults-file=/etc/my.conf --no-timestamp --user dbback --host 192.168.99.22 --password 123 --apply-log /tmp/backup
           

最后一步,跟之前的全备恢复最后一样,

mysqladmin -uroot -p123 shutdown
mv /data/mysql /data/mysql_bak
mv /tmp/backup /data/
cd /data
mv backup/ mysql
chown mysql:mysql -R mysql
mysql_safe --defaults-file=/etc/my.conf &
           

继续阅读