应用场景: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
解压后的文件如下图所示:
在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.
并且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
恢复成功!!!
恢复成功后的文件如下图:
不但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