使用xtrabackup做数据库的增量备份

本文深入解析了XtraBackup和innobackupex的在线热备份机制,并详细介绍了如何使用这两种工具进行增量备份操作。通过具体的步骤演示,读者可以轻松掌握从全备份到增量备份再到恢复的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

xtrabackup实现原理与innodb的recovery原理类似。

主要特点:
1. 在线热备份。可以备份innodb和myisam。innodb主要应用recovery原理。myisam直接拷贝文件。
2. 支持流备份。可以备份到disk,tape和reomot host。–stream=tar ./ | ssh user@remotehost cat “>” /backup/dir/
3. 支持增量备份。可以利用lsn和基础备份目录来进行增量备份。
4. 支持记录slave上的master log和master position信息。
5. 支持多个进程同时热备份,xtrabackup的稳定性还是挺好的。

可以找到很多关于xtrabackup使用的帖子,但是提到使用innobackupex做增量备份比较少。
这里介绍一下使用innobackupex做增量备份的步骤:
xtrabackup的版本:xtrabackup-1.6.tar.gz
http:/www.percona.com/downloads/XtraBackup/XtraBackup-1.6/Linux/binary/x86_64/

备份和恢复的步骤:

#Step 1: 做一个全备份
./innobackupex –defaults-file=/tmp/mysqld.cnf –no-timestamp –socket=/tmp/mysql.sock –user=admin –password=admin $backupdir/full

#Step 2: 基于全备份做一个增量备份
./innobackupex –defaults-file=/tmp/mysqld.cnf –no-timestamp –socket=/tmp/mysql.sock –user=admin –password=admin –incremental –incremental-basedir=$backupdir/full/ $backupdir/inc1

#Step 3: 基于全备份和第一个增量备份做第二次增量备份
./innobackupex –defaults-file=/tmp/mysqld.cnf –no-timestamp –socket=/tmp/mysql.sock –user=admin –password=admin –incremental –incremental-basedir=$backupdir/inc1/ $backupdir/inc2

#Step 4: 恢复全备份
./innobackupex $backupdir/full/ –apply-log

#Step 5: 基于全备份进行第一次增量备份的恢复
./innobackupex $backupdir/full/ –incremental –incremental-dir=$backupdir/inc1/ –apply-log

#Step 6: 基于全备份和第一次增量备份,恢复第二次增量备份
./innobackupex $backupdir/full/ –incremental –incremental-dir=$backupdir/inc2/ –apply-log

#Step 7: 将恢复好的数据按照配置文件的需求拷贝到相应目录
./innobackupex –defaults-file=/tmp/mysqld2.cnf $backupdir/full/ –copy-back

一些使用技巧:
http:/www.orczhou.com/index.php/2010/04/xtrabackup-tips/

转载于:https://www.cnblogs.com/cosiray/archive/2012/03/09/2388113.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值