使用xtrabackup工具的innobackupex脚本备份数据时,准备备份--apply-log

innobackupex --apply-log /datapath命令执行后

备份数据里会有两个文件说明备份数据对应的binlog的文件名和位置,xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info,具体区别:

  1. 对于纯INNODB操作,备份出来的数据中上述两个文件的内容是一致的

  2. 对于Innodb和非事务存储引擎混合操作,xtrabackup_binlog_info 中所示的 position 应该会比 xtrabackup_pos_innodb 所示的数值大。此时应以 xtrabackup_binlog_info 为准;而后者和 apply-log 时 InnoDB recovery log 中显示的内容是一致的,只针对 InnoDB 这部分数据

另外,今天发现 InnoBASE/MySQL/Oracle 公司出品的 MySQL Enterprise Backup(原 InnoDB Hot Backup)中 innobackup 脚本备份出来的数据也有类似的问题。这其实是由于热拷贝时 InnoDB 表和非事务表分别复制的时间差引起的。