xtrabackup 包含两个工具 xtrabackup 和innobackupex。
->xtrabackup只能备份innodb和xtradb两种引擎的表,而不能备份myisam引擎的表。
->innobackupex能同时备份innodb和myisam,但对myisam备份时需要加一个全局读锁,增量备份主要是针对innodb而言,对myisam其他存储引擎,innobackupex仍然是一个全拷贝。
innobackupex是一个封装了xtrabackup的 Perl 脚本。
======================================以下是innobackupex的备份,恢复,增量备份恢复的原理===========================================
->innobackupex的备份过程
备份开始时首先会开启一个后台检测进程,实时检测mysql redo的变化,一旦发现redo中有新的日志写入,立刻将日志记入后台日志文件xtrabackup_log中。之后复制innodb的数据文件和系统表空间文件ibdata1,待复制结束后,执行flush tables with read lock操作,复制.frm,MYI,MYD,等文件(执行flush tableswith read lock的目的是为了防止数据表发生DDL操作,并且在这一时刻获得binlog的位置)最后会发出unlock tables,把表设置为可读可写状态,最终停止xtrabackup_log。
->全备恢复
时间: 2024-11-09 16:28:19