Tag Archives: xtrabackup

使用Xtrabackup备份远端主机的MySQL实例

By | 2015-01-12

percona Xtrabackup是一款用于MySQL备份的开源工具集, 效果类似MySQL Enterprise Backup, 支持在线备份InnoDB而不影响业务使用. 不过我一直觉得Xtrabackup是迄今为止最强悍的MySQL备份工具,没有之一. 备份的原理见: http://arstercz.com/how-innobackupex-works/ percona手册页中提供了很详细的示例来说明使用stream选项做备份: http://www.percona.com/doc/percona-xtrabackup/2.2/howtos/recipes_ibkx_stream.html

How does innobackupex works

By | 2013-11-11

innobackupex工作流程 innobackupex封装了xtrabackup(InnoDB备份)工具,大致的备份流程如下: |创建备份目录| —> |xtrabackup备份InnoDB| –> |全局锁| –> |备份非InnoDB表| –> |释放锁| 在 xtrabackup 备份 InnoDB 过程中,InnoDB 相关变化如下显示: 上述部分为拷贝文件阶段,文件的变化及拷贝文件工作流程见下图: 在备份InnoDB的过程中,记录的变更保存于xtrabackup_logfile文件,所以在prepare(–apply-log)的时候,重放该部分数据到表空间即可,如下: 以上就完成了在拷贝文件完成后的那个时间点的全量备份; FAQ: xtrabackup备份开始时,suspend到底有什么作用? 130716 12:14:08 innobackupex: Starting ibbackup with command: xtrabackup_55 –defaults-file=”/web/mysql/node3306/my.node.cnf” –defaults-group=”mysqld” –backup –suspend-at-end –target-dir=/web/xtrabackup/backups/node3306/2013-07-16_12-14-08 –tmpdir=/dev/shm innobackupex: Waiting for ibbackup (pid=16924) to suspend innobackupex: Suspend file ‘/web/xtrabackup/backups/node3306/2013-07-16_12-14-08/xtrabackup_suspended_2’ 如下备份信息,为什么要有一个suspend的过程,从innobackupex代码来看,suspend起到了进程同步的作用,即先用xtrabackup备份Innodb,通过suspend作用来检测xtrabackup是否备份正常,是则全局锁,备份其他引擎文件,否则Die失败; sub backup { my $orig_datadir = get_option(\%config,… Read More »