innochecksum is a tool for printing checksums for InnoDB files.
innochecksum [options] file_name
It reads an InnoDB tablespace file, calculates the checksum for each page, compares the calculated checksum to the stored checksum, and reports mismatches, which indicate damaged pages. It was originally developed to speed up verifying the integrity of tablespace files after power outages but can also be used after file copies. Because checksum mismatches will cause InnoDB to deliberately shut down a running server, it can be preferable to use innochecksum rather than waiting for a server in production usage to encounter the damaged pages.
innochecksum has worked with compressed pages since MariaDB 10.0.16.
MariaDB 10.1.4 added options to analyze leaf pages to estimate how fragmented an index is and how much benefit can be gained from defragmentation.
innochecksum cannot be used on tablespace files that the server already has open. For such files, you should use CHECK TABLE to check tables within the tablespace. If checksum mismatches are found, you would normally restore the tablespace from backup or start the server and attempt to use mysqldump to make a backup of the tables within the tablespace.
innochecksum supports the following options. For options that refer to page numbers, the numbers are zero-based.
|-?, --help||Displays help and exits.|
|-c, --count||Print a count of the number of pages in the file.|
|-d, --debug||Debug mode; prints checksums for each page, implies --verbose.|
|-e num, --end-page=#||End at this page number.|
|-i, --per-page-details||Print out per-page detail information.|
|-I, --info||Synonym for --help.|
|-l, --leaf||Examine leaf index pages||MariaDB 10.1.4|
|-m num, --merge=#||Leaf page count if merge given number of consecutive pages.||MariaDB 10.1.4|
|-p num, --page=#||Check only this page number.|
|-s num, --start-page=#||Start at this page number.|
|-u, --skip-corrupt||Skip corrupt pages.||MariaDB 10.0.16|
|-v, --verbose||Verbose mode; print a progress indicator every five seconds.|
|-V, --version||Displays version information and exits.|