MySQL检查崩溃的表

时间:2012-02-02 11:53:23

标签: mysql

我注意到当phpMyAdmin打开一个数据库时,它会立即显示表是否已崩溃。因此,在我看来,phpMyAdmin没有运行CHECK TABLEANALYZE TABLE

有人知道如何快速有效地获取这些信息吗?

5 个答案:

答案 0 :(得分:10)

我敢打赌

SHOW TABLE STATUS FROM `db` 

是你正在寻找的东西。

看一下this行。我认为如果ENGINE为null(空),可能是因为表崩溃了

答案 1 :(得分:6)

show table status where comment like '%crash%';

答案 2 :(得分:4)

我找到的最有效的方法是使用命令行mysqlcheck工具:

mysqlcheck -u mydbuser -p mydbname

这将使用用户mydbname访问mydbuser并提示输入该用户的密码。然后它将检查指定数据库中的每个表。

请参阅https://dev.mysql.com/doc/refman/5.7/en/mysqlcheck.html

注意:这不是phpMyAdmin的用法,因此这不是原始问题的严格答案,但我将此放在此处是因为Google在此处发送了mysql show crashed tables的搜索。

答案 3 :(得分:3)

如果您有shell访问权限,mysqlanalyze实用程序可以提供帮助。

mysqlanalyze dbname

Official Documentation

答案 4 :(得分:1)

检查表的正确方法是

mysqlcheck DB TABLE

因此要检查数据库FOO中的表BAR

mysqlcheck FOO BAR