MySQL检查崩溃的表

Adr*_*ert 7 mysql

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

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

Mar*_*in. 10

我敢打赌

SHOW TABLE STATUS FROM `db` 
Run Code Online (Sandbox Code Playgroud)

是你正在寻找的东西.

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


小智 7

show table status where comment like '%crash%';
Run Code Online (Sandbox Code Playgroud)

  • 我比接受的答案更喜欢这个,因为在接受的答案中并不明显您可以在 SHOW 语句的上下文中轻松使用 LIKE 。(另外,我更喜欢 COMMENT != ""。) (2认同)

jef*_*f-h 5

我发现的最有效的方法是使用命令行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