2012-02-02 3 views
6

phpMyAdmin이 DB를 열면 테이블이 손상되었는지 즉시 알 수 있습니다. phpMyAdmin이 CHECK TABLE 또는 ANALYZE TABLE을 실행하지 않는 것 같습니다.MySQL이 충돌 한 테이블을 확인했습니다.

아무도이 정보를 너무 빨리 그리고 효율적으로 얻기 위해 무엇을하는지 압니까?

답변

5

나는

SHOW TABLE STATUS FROM `db` 

당신이 찾고있는 것입니다 내기.

줄을 this 줄을보십시오. 엔진이 null (비어 있음) 인 경우 테이블이 손상 되었기 때문일 수 있습니다.

+0

이것이 도움이되지만 내 것이 아닌 상황이있을 수 있습니다. 'SHOW TABLE STATUS'는 내가 손상된 테이블의 상태에 어떤 차이도주지 않습니다. – mc0e

3

쉘 액세스 권한이있는 경우 mysqlanalyze 유틸리티가 도움이 될 수 있습니다.

mysqlcheck -u mydbuser -p mydbname

이 사용자 mydbuser를 사용하고 묻지 mydbname에 액세스 :

mysqlanalyze dbname 

Official Documentation

3
show table status where comment like '%crash%'; 
+0

나는이 대답을 받아 들일 때보 다 더 좋아한다. 왜냐하면 수용된 대답에서는 SHOW 문맥에서 LIKE를 쉽게 사용할 수 있기 때문이다. (또한 나는 COMMENT! = ""선호한다.) – HoldOffHunger

0

내가 찾은 가장 효율적인 방법은 명령 줄 mysqlcheck 도구를 사용하는 것입니다 사용자의 암호. 그런 다음 지정된 데이터베이스의 각 테이블을 점검합니다. 이 phpMyAdmin을 그것을하지 않습니다 방법이다, 그래서 이것은 엄격하게 원래의 질문에 대한 답이 아니라 구글이 여기 mysql show crashed tables에 대한 검색을 전송하기 때문에 여기 이러는거야 :

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

참고하십시오.

관련 문제