mysql命令-innochecksum
一、工具简介
innochecksum 是 MySQL/InnoDB 提供的一个离线校验工具,用于验证 InnoDB 表空间文件(.ibd 和 ibdata 文件)的校验和。它可以检测文件损坏、验证数据完整性,并在某些情况下修复校验和问题。
二、基本语法
innochecksum [options] file_name
三、主要功能特性
1. 核心功能
-
校验和验证:验证 InnoDB 页面校验和
-
损坏检测:检测表空间文件中的损坏页面
-
校验和修复:修复损坏的校验和(谨慎使用)
-
页面信息显示:显示页面的详细信息
2. 适用场景
-
数据库异常崩溃后的数据完整性检查
-
物理备份文件验证
-
数据迁移前的完整性验证
-
日常维护中的数据文件健康检查
四、常用选项详解
1. 基本选项
选项
说明
示例
-v
详细模式,显示更多信息
innochecksum -v file.ibd
-d
调试模式,输出调试信息
innochecksum -d file.ibd
-h 或 --help
显示帮助信息
innochecksum -h
-V 或 --version
显示版本信息
innochecksum -V
2. 校验和选项
选项
说明
示例
-c <algorithm>
指定校验算法 (innodb/crc32/none)
-c crc32
-C <algorithm>
使用指定算法重写校验和
-C crc32
-p <num>
检查指定页号
-p 0 -p 1
-s
静默模式,只显示错误
innochecksum -s file.ibd
3. 范围选项
选项
说明
示例
-e <num>
检查指定数量的页
-e 1000
-l <num>
指定起始页号
-l 0
-u <num>
指定结束页号
-u 1000
-n <num>
检查指定数量的页
-n 1000
4. 文件选项
选项
说明
示例
-k <size>
页面大小(默认16KB)
-k 16384
-F <size>
指定文件大小
-F 10G
-I
忽略校验和错误继续检查
innochecksum -I file.ibd
-S
跳过校验和验证
innochecksum -S file.ibd
五、InnoDB 校验和算法
1. 支持的算法
# 查看支持的校验和算法 innochecksum -h | grep -A5 "checksum algorithm" # 主要算法: # 1. innodb: 传统的 InnoDB 校验和算法 # 2. crc32: 使用 CRC32 算法(默认从 MySQL 5.7 开始) # 3. none: 不计算校验和
2. 算法对比
算法
MySQL版本
性能
可靠性
特点
innodb
< 5.7
中等
高
传统算法,向后兼容
crc32
>= 5.7
高
高
默认算法,更快更可靠
none
所有版本
最高
无
不验证,仅用于测试

发表评论
所有评论