Description:
I'd used the below two command to test innodb page-level compression.
alter table idname COMPRESSION="zlib";
optimize table idname;
after that, when I run mysqlbackup command try to backup the database, it cannot work:
InnoDB: End of page dump
mysqlbackup: INFO: InnoDB: Uncompressed page, stored checksum in field1 3716079228, calculated checksums for field1: crc32 2956098786/2399049417, innodb 2064067694, none 3735928559, stored checksum in field2 0, calculated checksums for field2: crc32 2956098786/2399049417, innodb 3035593887, none 3735928559, page LSN 0 26416147, low 4 bytes of LSN at page end 0, page number (if stored to page already) 1, space id (if created with >= MySQL-4.1.1 and stored already) 26.
mysqlbackup: WARNING: The value of 'innodb_checksum_algorithm' option provided to mysqlbackup might be incompatible with server config.
mysqlbackup: ERROR: Page at offset 16384 in /home/mysql/test/test/idname.ibd seems corrupt!
backup command:
mysqlbackup --defaults-extra-file=/etc/mysql/test.cnf --host=127.0.0.1
--port=9999 --user=root --password=xxx --backup-image=./datadir/cbg.img
--backup-dir=/home/backup/testback/ --sleep=300 --skip-binlog
--skip-relaylog backup-to-image
And I try to use innobackupex, it can backup successfully:
innobackupex --defaults-extra-file=/etc/mysql/my.logdb.cnf \
--host=127.0.0.1 --port=9999 --user=root --password=xxxxx \
--rsync --no-timestamp --parallel=8 --throttle=100 /home/backup/testback
I try to disable page compression and then re-run the backup command. It works.
This is the command of disable page compression:
alter table idname COMPRESSION="None";
optimize table idname;
How to repeat:
using mysqlbackup to backup the database which use innodb page compression.
Suggested fix:
update mysqlbackup to support innodb page compression.