[转]Xtrabackup 的 xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info 文件区别

[转自] http://julyclyde.org/?p=403

在操作 innobackupex 的时候,执行 change master to 的时候发现 xtrabackup_binlog_pos_innodb xtrabackup_binlog_info 两个文件对应的master 的 binary log 位置不一致;

官网上的定义

xtrabackup_binlog_pos_innodb

containing the position of the binary log at the moment of backing up relative to InnoDB transactions;

**xtrabackup_binlog_info **

containing the position of the binary log at the moment of backing up;

用过 xtrabackup 工具的 innobackupex 脚本备份数据的人可能会注意到,–apply-log 处理过的备份数据里有两个文件说明该备份数据对应的 binlog 的文件名和位置。但有时这俩文件说明的位置可能会不同。

经过实验和询问 Percona 公司,结论如下:

  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 表和非事务表分别复制的时间差引起的。

原文地址:https://www.cnblogs.com/winstom/p/10101885.html