MySQL离线分析工具innochecksum

  • 时间:
  • 浏览:0
  • 来源:大发5分11选5_大发5分11选5官网

在多个系统表空间文件上运行innochecksum

默认情况表下,要能了有另俩个 InnoDB 系统表空间文件( ibdata1 ),但要能使用 innodb_data_file_path 选项定义系统表空间的多个文件。在以下示例中,使用 innodb_data_file_path 选项定义系统表空间的有另俩个 文件: ibdata1 , ibdata2 和 ibdata3 。

使用 --write 选项时都要指定算法。使用 --write 选项时获得独占锁,--write 选项的就让值为:

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

对 data 目录中的所有表空间文件( .ibd 文件)运行 innochecksum :

这有另俩个 文件( ibdata1 , ibdata2 和 ibdata3 )构成有另俩个 逻辑系统表空间。要在形成有另俩个 逻辑系统表空间的多个文件上运行 innochecksum , innochecksum 都要 - 选项从标准输入读取表空间文件,这共要连接多个文件以创建有另俩个 文件。对于上端提供的示例,以下 innochecksum 将使用命令:

对于文件名以“t”开头的所有表空间文件( .ibd 文件)运行 innochecksum :

就让未指定 --strict-check 选项, innochecksum 将对 innodb , crc32 和 none 进行验证。

就让指定 none 选项,则仅允许 none 生成的校验和。

就让指定 innodb 选项,则仅允许 innodb 生成的校验和。

就让指定 crc32 选项,则仅指定校验和由 crc32 生成是允许的。

--write 选项将整个页面重写为磁盘。就让新校验和与现有校验和相同,则新校验和无需写入磁盘以最小化I / O.

innochecksum要能了用于服务器已打开的表空间文件。对于此类文件,应使用CHECK TABLE检查表空间中的表。尝试在服务器已打开的表空间上运行innochecksum将原因分析分析 “Unable to lock file”错误。

innochecksum打印InnoDB文件的校验和。此工具读取InnoDB表空间文件,计算每个页面的校验和,将计算的校验和与存储的校验和进行比较,并报告不匹配,这表明页面已损坏。它最初是为了在停电后加快验证表空间文件的完整篇 性而开发的,但也要能在文件克隆qq后使用。就让校验和不匹配原因分析分析 InnoDB故意关闭正在运行的服务器,就让最好使用此工具而完整篇 全是等待生产中的服务器遇到损坏的页面。

在多个用户定义的表空间文件( .ibd 文件)上运行

对“test”数据库中的所有表空间( .ibd )文件运行 innochecksum :