检查表损坏

dwj*_*wjv 6 mysql mysqldump

我通过远程查询各种事物来监控 MySQL 数据库。我最近遇到了一个问题,其中一个表已损坏,但直到每日 mysqldump 失败我才知道它。有没有办法检查损坏(无需在每个表上运行 CHECK TABLE)?当我注意到 information_schema.tables 有一个 table_comment 列,当它损坏时,我想我已经想通了:

TABLE_COMMENT: Table './demo/test' is marked as crashed and should be repaired
Run Code Online (Sandbox Code Playgroud)

结果,当我尝试在该列上搜索时,即 WHERE TABLE_COMMENT LIKE '%marked as crashed%',没有返回任何内容!

我需要能够从存储过程中查询这个,有什么建议吗?

小智 2

当你发出

SHOW TABLE STATUS;
Run Code Online (Sandbox Code Playgroud)

在有问题的数据库上,将显示损坏的表。它们将没有行数或大小,大多数属性将为空,并且在Comment列中您将看到文本:

表“./demo/test”被标记为已崩溃,应修复