使用xtrabackup工具的innobackupex脚本备份数据时,准备备份--apply-log
innobackupex --apply-log /datapath命令执行后
备份数据里会有两个文件说明备份数据对应的binlog的文件名和位置,xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info,具体区别:
对于纯INNODB操作,备份出来的数据中上述两个文件的内容是一致的
对于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 表和非事务表分别复制的时间差引起的。