innochecksum prints checksums for InnoDB files. This tool 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 this tool rather than waiting for a server in production
usage to encounter the damaged pages.
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.
Invoke innochecksum like this:
shell> innochecksum [options] file_nameinnochecksum 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.
• -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.
• -m num, --merge=#
Leaf page count if merge given number of consecutive pages.
• -p num, --page-num=#
Check only this page number.
• -s num, --start-page
Start at this page number.
• -u, --skip-corrupt
Skip corrupt pages.
• -v, --verbose
Verbose mode; print a progress indicator every five seconds.
• -V, --version
Displays version information and exits.
Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc.,
2010-2020 MariaDB Foundation
This documentation is free software; you can redistribute it
and/or modify it only under the terms of the GNU General Public
License as published by the Free Software Foundation; version 2
of the License.
This documentation is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with the program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1335 USA or see http://www.gnu.org/licenses/.
This page is part of the MariaDB (MariaDB database server)
project. Information about the project can be found at
⟨http://mariadb.org/⟩. If you have a bug report for this manual
page, see ⟨https://mariadb.com/kb/en/mariadb/reporting-bugs/⟩.
This page was obtained from the project's upstream Git repository
⟨https://github.com/MariaDB/server⟩ on 2023-06-23. (At that
time, the date of the most recent commit that was found in the
repository was 2023-05-11.) If you discover any rendering
problems in this HTML version of the page, or you believe there
is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
MariaDB 10.8 15 May 2020 INNOCHECKSUM(1)