## myisam 테이블 복구하는법
- repair table 실행
- repair table 로 복구되지 않을 시, myisamchk 로 복구 시도
- 테이블 데이터 확인 후 깨져있을 시 repair table 실행
- check table 로 테이블 확인
본래는 포스팅을 할 생각이 없었어서 캡쳐 등의 자료가 없다..
myisam 엔진형식인 테이블이 깨졌다.
repair table 을 실행하여도 테이블이 복구되지 않는다.
등에서 식은땀이 흘렀다.
repair 를 실행하면 ,anaylze 쿼리를 실행한것 처럼 테이블 상태를 체크만(?) 해주고 복구는 해주지 않는다..
심지어 하필이면 테이블의 엔진 형식이 INNO DB 가 아닌 Myisam 이었다.

처음에는 file#P# 형식이 파티션이 아닌, 테이블이 깨져서 데이터 파일도 깨진줄 알고 당황을 했다.
이것 저것 자료를 찾아보다, myisamchk 를 통하여 복구하는 방법을 찾아냈다.
myisamchk -r /경로 로 복구를 해주면 된다.
윈도우는 maria DB설치 경로의 bin 폴더에서 명령을 실행해줘야한다.
bin 폴더 하위에 myisamchk.exe가 있어서 실행이 필요해서 그런듯하다.
또한 경로를 쌍따옴표로 묶어서 처리하는 편이 편하다.
(나는 쌍따옴표없이 경로 입력하였을시 파일이 없다는 에러가 계속 발생하였다.. 아마도 # 때문인듯)
myisamchk -r /var/lib/mysql/db명/테이블명
C:\MariaDB 5.5\bin>myisamchk -r --safe-recover --force "../data/test/file#P#basic_p.MYI"
myisamchk 로 복구하는데는 약 반나절이 걸렸던 것 같다.
나의 경우에는, myisamchk 로 복구 후에도 여전히 테이블의 데이터들이 깨져있어서 repair table 까지 실행 한 후 정상적으로 테이블 복구에 성공했다.
repair는 거의 하루 꼬박 걸렸던 것 같다.