Documentation Home
MySQL 8.0 参考手册  / 第 4 章 MySQL 程序  / 4.6 管理和实用程序  /  4.6.1 innochecksum — 离线 InnoDB 文件校验和工具

4.6.1 innochecksum — 离线 InnoDB 文件校验和工具

innochecksum打印 InnoDB文件的校验和。该工具读取 InnoDB表空间文件,计算每个页面的校验和,将计算的校验和与存储的校验和进行比较,并报告不匹配,这表明页面已损坏。它最初是为了在断电后加快验证表空间文件的完整性而开发的,但也可以在文件复制后使用。由于校验和不匹配会导致 InnoDB故意关闭正在运行的服务器,因此最好使用此工具,而不是等待生产中的服务器遇到损坏的页面。从 MySQL 5.6.16 开始, innochecksum 支持大小超过 2GB 的文件。之前, innochecksum只支持最大 2GB 的文件。

innochecksum不支持包含压缩页的表空间。

innochecksum不能用于服务器已经打开的表空间文件。对于此类文件,您应该使用CHECK TABLE检查表空间内的表。

如果发现校验和不匹配,您通常会从备份中恢复表空间或启动服务器并尝试使用 mysqldump对表空间中的表进行备份。

像这样调用innochecksum

innochecksum [options] file_name

innochecksum支持以下选项。对于引用页码的选项,数字从零开始。

  • -c

    打印文件中页数的计数。

  • -d

    调试模式; 打印每一页的校验和。

  • -e num

    在此页码结束。

  • -p num

    仅检查此页码。

  • -s num

    从此页码开始。

  • -v

    详细模式;每五秒打印一个进度指示器。