站长手记 - 站长手记
打印】【收藏此页
低版本 MariaDB 不支持 FLUSH CHANGED_PAGE_BITMAPS 操作导致 Percona XtraBackup 增量备份出错的解决办法
作者:本站:苏信东  来源:WaveCN.com  发布日期:2015-08-26  最后修改日期:2015-08-26  

最近把在用的Percona XtraBackup从2.2.9升级到2.2.12,发现增量备份出错,报下面这条SQL执行错误:

FLUSH NO_WRITE_TO_BINLOG CHANGED_PAGE_BITMAPS

经查,原来是低于10.1.6版本的 MariaDB 不支持 FLUSH CHANGED_PAGE_BITMAPS 操作。于是,通过直接修改innobackupex中的版本判断SQL解决问题。

修改前先做好备份:

cp /usr/bin/innobackupex /usr/bin/innobackupex.2.2.12

然后,按如下diff结果修改:

[root@hadc bin]# diff innobackupex innobackupex.2.2.12
5017,5027c5017
<                         "AND " .
< "IF (VERSION() NOT LIKE '%MariaDB%', TRUE, " .
< "(" .
< "SUBSTRING_INDEX(SUBSTRING_INDEX(VERSION(), '-', 1), '.', 1) * 10000 +" .
< "SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(VERSION(), '-', 2), '.', 1), '.', -1) * 100 +" .
< "SUBSTRING_INDEX(SUBSTRING_INDEX(VERSION(), '-', 1), '.', -1)" .
< ") >= 100116" .
< ")"
<
< );
<
---
>                         "AND NOT VERSION() LIKE '10.%MariaDB%'");

 

相关的两个BUG REPORT:

xtrabackup logohttps://bugs.launchpad.net/percona-xtrabackup/+bug/1444541

 

 

 

MariaDB logohttps://mariadb.atlassian.net/browse/MDEV-7472