에러 메세지
ERROR 145 (HY000): Table '테이블명' is marked as crashed and should be repaired
에러 증상
해당 테이블을 조회하면 에러 메세지 출력됨
해당 테이블에 삽입하고 갱신하면 에러 메세지 출력됨
대처 방법
서버PC를 물리적으로 리부트하거나 DB서버가 비정상적으로 내려가 해당 테이블이
깨진것이므로 복구하는 명령을 실행한다. 한번에 안되면 2-3번 해본다.
ex1 : repair table 테이블명;
ex2 : /usr/bin/mysqlcheck -Aao --auto-repair -u root --password=패스워드;
※ ex1은 한개의 테이블을 대상으로 하지만 ex2는 전체 테이블을 대상으로 한다.
깨진 테이블 모두 복구하기
shell>mysqlcheck -u 아이디 -p패스워드 --auto-repair -B 데이터베이스명
※ repair 또는 mysqlcheck 실행하기전 해당 테이블이나 데이터베이스의 크기가 어느정도인지 체크후에 실행하자.
용량이 큰편이라면 처리시간도 꽤 걸린다.
※ repair 또는 mysqlcheck 실행후 처리시간이 길어져서 강제로 종료하면 특정 테이블이 깨져서 아래의 메세지를 보여주며
액세스가 안될수도 있으니 조심하자.
ERROR 1016 : Can't open file : 테이블 MYI