应用场景:innobackupex备份的MySQL是5.5版本。innobackupex恢复的MySQL是5.6版本。

在mysql5.5服务器做备份:

innobackupex --defaults-file=/etc/my.cnf --host=localhost --user=root --password='123' --stream=tar /home/bak |gzip > /home/bak/cbs_songlisha.tar.gz
tar ixvf cbs_songlisha.tar.gz

解压后的文件如下图所示:

innobackupex: ibbackup failed at /usr/bin/innobackupex line 2560._position

在mysql5.6服务器做日志恢复:

innobackupex --apply-log /data/backup/ --ibbackup xtrabackup_56

恢复报错:

InnoDB: Last MySQL binlog file position 0 57368934, file name /home/admin/mysql_data/binlog/mysql-bin.010879

innobackupex: Error:

innobackupex: ibbackup failed at /usr/bin/innobackupex line 2560.

innobackupex: ibbackup failed at /usr/bin/innobackupex line 2560._localhost_02

并且xtrabackup_logfile也不见了,应用到ib_logfile了。


错误原因:

因为备份机器的MySQL版本是5.5用的是xtrabackup_55

恢复机器MySQL版本我升级到5.6了,我使用了xtrabackup_56做恢复

我现在使用xtrabackup_55做日志恢复试试吧!

cp /data/percona-xtrabackup-2.1.9-Linux-x86_64/bin/xtrabackup_55 /usr/bin/xtrabackup_55
innobackupex --apply-log /data/backup/ --ibbackup xtrabackup_55

恢复成功!!!

innobackupex: ibbackup failed at /usr/bin/innobackupex line 2560._password_03

恢复成功后的文件如下图:

innobackupex: ibbackup failed at /usr/bin/innobackupex line 2560._password_04

不但xtrabackup_logfile还在,还多出来一个xtrabackup_binlog_pos_innodb文件。

下面做恢复数据操作:

innobackupex  --defaults-file=/etc/my.cnf --user=root --password=root --socket=/data/mysql_data/sock/my3306.sock --copy-back /data/backup/ --ibbackup xtrabackup_55