서버관리 삽질 기록

MySQL에러: Table 'xxx' is marked as crashed and should be repaired.

ForceCore 2007. 2. 1. 04:59
위키 글을 쓰다가 깜짝 놀랐다.
글을 적고나니까 이런 메시지가 출력되었다:

데이터베이스 쿼리 구문 오류가 발생했습니다. 소프트웨어의 버그가 있을 수 있습니다. 마지막으로 요청한 데이터베이스 쿼리는 "SearchMySQL4::update" 함수에서 쓰인
    (SQL query hidden)
입니다. MySQL은 "145: Table './wikidb/eedoc_searchindex' is marked as crashed and should be repaired (localhost)" 오류를 냈습니다.
어쩌노 <(-_-)>

http://blueb.net/blog/346
다행히 누가 이미 겪었다.
일단 자료 백업을 해놓고 들어가시오. DB의 바이너리파일 어딘가 복사.
DB에서
mysql> repair table product; //"product"는 오류가 생긴 테이블 입니다.
하시기 전에
mysql>analyze table product;를 실행하면 테이블에 대한 보고서가 작성됩니다.
그리고 나서
mysql>repair table product;를 실행하면 복원이 됩니다.
라고 한다.
그래도 안 통하는 경우가 있다.
필자는 통하는 경우, 안 통하는 경우 둘 다 겪어봤다 ㅠㅠ;;

역시  반드시 백업을 해두고...
http://www.databasejournal.com/features/mysql/article.php/10897_3300511_2

$ myisamchk -r 테이블파일
을 수행시킨다.
필자는 여기서 살릴 수 있었다...