InWL#6045we improved theinnochecksum tool so that it opens the tablespace file and validates the checksum for each page. It compares the calculated checksum to the stored checksum in the page and reports mismatches, if any. It can also now rewrite page checksums in the tablespace. It is an offline tool, however, so make sure that the MySQL server is not using the tablespace files when running the innochecksum tool.
When InnoDB encounters a page checksum mismatch, it will cause an ASSERT and perform a forced shutdown. So rather than wait for InnoDB to encounter this in production, it is better to use the innochecksum tool to validate and correct any checksum issues ahead of time. You could perform these checks on yourMySQL Enterprise Backupfiles after a backup job completes, as an example.
Again, the innochecksum tool cannot be used on tablespace files that the server already has open. When the MySQL server is running, you can instead use theCHECK TABLEcommand.
Additional new features introduced in MySQL 5.7 for this tool include:
--allow-mismatches
option.--strict-check
option.--write
option.--log
option.--page-type-summary
option.--page-type-dump
option.-
option.Conclusion
This post provided a brief introduction to the new features recently introduced in the innochecksum tool. For more information on the tool, please see the manualhere.