MySQL 복구하기
관리자 · 2003-11-17 19:57:49
mysql> select * from SMHWINFO;
ERROR 1016: Can\'t open file: \'SMHWINFO.MYD\'. (errno: 145)
위와 같은 mysql 에러가 발생하면 mysql 테이블이 손상된 경우가 되는데..
(MYD 확장자를 가진 파일은 mysql data를 저장하는 파일임)
일단 DB를 내리고 MYD, MYI, frm 파일을 백업해둠.
이 경우의 백업은 파일 백업을 말하는것이다.
그리고나서 myisamchk로 복구.
---------------------------------------------------------
killall mysqld ->mysql 데몬 죽이기
./myisamchk --safe-recorver /usr/local/mysql/data/DB명/복구할 테이블명
---------------------------------------------------------
여기서 myisamchk 파일은 패스가 걸려있으면 아무곳에서나 실행이 가능하지만
아닌경우에는 mysql 이 설치된 디렉토리의 bin 디렉토리 아래에 존재함.
ex)/usr/local/mysql/bin/myisamchk
/usr/local/mysql/data 이 경로는 소스컴파일 할때 MYD가 저장될 디렉토리명을 data로 바꿔준 경우임.
소스컴파일 할때의 디폴트 설정은 /usr/local/mysql/var 로 되어있기 때문에...
rpm 으로 설치된 경우에는 /var/lib/mysql/ 에 존재한다.