테스트환경 : CentOS 5.x / Mysql5.0.77
> use DB명; (DB접속)
> show tables; (복구할 테이블 확인)
> lock tables 테이블명 read; (복구하기 전 해당 테이블 lock을 걸어놓고 읽기만 가능하도록 설정)
> repair table 테이블명; (해당 테이블 복구를 진행합니다. mysql에 추가 접속하여 show full processlist;
입력하여 복구 상태를 확인할 수 있습니다. repair 사용법에 대해서는 아래부분을 참고하시기 바랍니다.)
> unlock tables; (정상 복구되었을 경우 모든 테이블 락을 해제합니다.)
> check table 테이블명; (정상복구 되었는지 확인합니다. Msg_test 상태가 OK이면 정상처리된 것입니다.)
[repair 사용방법]
repair [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name[,tbl_name...] [QUICK] [EXTENDED]
[옵션설명]
QUICK : 인덱스 tree만 복구합니다.
EXTENDED : 한줄씩 복구하여 인덱스를 만듭니다. myisamchk --safe-recover 명령어와 같습니다.
다음과같은 경우 repair table 문이 실행되지 않습니다.
- '테이블명.frm' 이 잠겨있을경우 (일반 사용자 권한으로는 풀 수 없으며 root 권한으로 풀어야 합니다.)
- '테이블명.MYI' 파일이 없는 경우 (errcode:###)
- 파일의 끝을 예측할 수 없는 경우
- Record 파일이 깨졌을 경우
- table handler로부터 에러 ###을 받았을 경우
repair 결과 메시지가 OK가 아닌 경우 myisamchk -o를 사용하여 복구해야 합니다.
출처 : http://smilemoon.kr/90116319492
※ 로그인 하시면 원본파일을 볼 수 있습니다. ※