SET GLOBAL innodb_compression_level=0; SELECT @@innodb_compression_level; @@innodb_compression_level 0 CREATE TABLE t1 (j LONGBLOB) ENGINE = InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; INSERT INTO t1 VALUES (repeat('abcdefghijklmnopqrstuvwxyz',200)); INSERT INTO t1 SELECT * from t1; INSERT INTO t1 SELECT * from t1; INSERT INTO t1 SELECT * from t1; INSERT INTO t1 SELECT * from t1; INSERT INTO t1 SELECT * from t1; INSERT INTO t1 SELECT * from t1; INSERT INTO t1 SELECT * from t1; INSERT INTO t1 SELECT * from t1; INSERT INTO t1 SELECT * from t1; INSERT INTO t1 SELECT * from t1; # stop the server Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) --------------------------------- ---------------------------------------- verbose TRUE debug FALSE count FALSE start-page 0 end-page 0 page 0 strict-check crc32 no-check FALSE allow-mismatches 0 write crc32 page-type-summary FALSE page-type-dump MYSQLTEST_VARDIR/tmp/dump.txt per-page-details FALSE log (No default value) leaf FALSE merge 0 [1]:# check the both short and long options for "help" [2]:# Run the innochecksum when file isn't provided. # It will print the innochecksum usage similar to --help option. innochecksum Ver #.#.# Copyright (c) YEAR, YEAR , Oracle, MariaDB Corporation Ab and others. InnoDB offline file checksum utility. Usage: innochecksum [-c] [-s ] [-e ] [-p ] [-i] [-v] [-a ] [-n] [-C ] [-w ] [-S] [-D ] [-l ] [-l] [-m ] See https://mariadb.com/kb/en/library/innochecksum/ for usage hints. -?, --help Displays this help and exits. -I, --info Synonym for --help. -V, --version Displays version information and exits. -v, --verbose Verbose (prints progress every 5 seconds). https://mariadb.com/kb/en/library/creating-a-trace-file/ -c, --count Print the count of pages in the file and exits. -s, --start-page=# Start on this page number (0 based). -e, --end-page=# End at this page number (0 based). -p, --page=# Check only this page (0 based). -C, --strict-check=name Specify the strict checksum algorithm by the user.. One of: crc32, crc32, innodb, innodb, none, none -n, --no-check Ignore the checksum verification. -a, --allow-mismatches=# Maximum checksum mismatch allowed. -w, --write=name Rewrite the checksum algorithm by the user.. One of: crc32, crc32, innodb, innodb, none, none -S, --page-type-summary Display a count of each page type in a tablespace. -D, --page-type-dump=name Dump the page type info for each page in a tablespace. -i, --per-page-details Print out per-page detail information. -l, --log=name log output. -f, --leaf Examine leaf index pages -m, --merge=# leaf page count if merge given number of consecutive pages Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) --------------------------------- ---------------------------------------- verbose FALSE count FALSE start-page 0 end-page 0 page 0 strict-check crc32 no-check FALSE allow-mismatches 0 write crc32 page-type-summary FALSE page-type-dump (No default value) per-page-details FALSE log (No default value) leaf FALSE merge 0 [3]:# check the both short and long options for "count" and exit Number of pages:# Number of pages:# [4]:# Print the version of innochecksum and exit innochecksum Ver #.#.## Restart the DB server DROP TABLE t1; [5]:# Check the innochecksum for compressed table t1 with different key_block_size # Test for KEY_BLOCK_SIZE=1 ===> Testing size=1 CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; insert into t1 values(1,"I"); insert into t1 values(2,"AM"); insert into t1 values(3,"COMPRESSED"); select * from t1; id msg 1 I 2 AM 3 COMPRESSED drop table t1; # Test for KEY_BLOCK_SIZE=2 ===> Testing size=2 CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2; insert into t1 values(1,"I"); insert into t1 values(2,"AM"); insert into t1 values(3,"COMPRESSED"); select * from t1; id msg 1 I 2 AM 3 COMPRESSED drop table t1; # Test for for KEY_BLOCK_SIZE=4 ===> Testing size=4 CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4; insert into t1 values(1,"I"); insert into t1 values(2,"AM"); insert into t1 values(3,"COMPRESSED"); select * from t1; id msg 1 I 2 AM 3 COMPRESSED drop table t1; set innodb_strict_mode=off; # Test for for KEY_BLOCK_SIZE=8 ===> Testing size=8 CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; insert into t1 values(1,"I"); insert into t1 values(2,"AM"); insert into t1 values(3,"COMPRESSED"); select * from t1; id msg 1 I 2 AM 3 COMPRESSED drop table t1; set innodb_strict_mode=off; # Test for KEY_BLOCK_SIZE=16 ===> Testing size=16 CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; insert into t1 values(1,"I"); insert into t1 values(2,"AM"); insert into t1 values(3,"COMPRESSED"); select * from t1; id msg 1 I 2 AM 3 COMPRESSED drop table t1; # Test[5] completed