MySQL检查崩溃的表

ql3eal8s  于 2024-01-05  发布在  Mysql
关注(0)|答案(5)|浏览(179)

我注意到当phpMyAdmin打开一个DB时,它会立即显示一个表是否崩溃。因此,在我看来,phpMyAdmin没有运行CHECK TABLEANALYZE TABLE
有谁知道如何才能如此快速有效地获得这些信息?

hrirmatl

hrirmatl1#

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

字符串

vwhgwdsa

vwhgwdsa2#

我打赌那

  1. SHOW TABLE STATUS FROM `db`;

字符串
就是你要找的东西
看一下这一行,我认为如果ENGINE为null(空),可能是因为表崩溃了

s4chpxco

s4chpxco3#

我发现的最有效的方法是使用命令行mysqlcheck工具:
mysqlcheck -u mydbuser -p mydbname
这将使用用户mydbuser访问mydbname,并提示输入该用户的密码,然后检查指定数据库中的每个表。
参见https://dev.mysql.com/doc/refman/5.7/en/mysqlcheck.html
注意事项:phpMyAdmin不是这样做的,所以这不是严格地回答原来的问题,但我把它放在这里,因为谷歌发送搜索mysql show crashed tables在这里。

rfbsl7qr

rfbsl7qr4#

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

  1. mysqlanalyze dbname

字符串
Official Documentation

vbopmzt1

vbopmzt15#

检查table的正确方法是

  1. mysqlcheck DB TABLE

字符串
所以要检查数据库FOO中的表BAR

  1. mysqlcheck FOO BAR

相关问题