상세 컨텐츠

본문 제목

테이블복구

DBMS/Mysql

by Array 2010. 5. 26. 13:42

본문

테이블의 유지.보수

myisamchk : 손상된 mysql의 데이터 파일을 복구한다

데이터 파일에 자료들이 비번하게 수정, 삭제된 경우 인덱스를 다시 정렬하여 속도를 빠르게함

myisamchk를 사용할때는 mysql을 종료하는것이 안전함 mysql을 계속 실행시켜야 할경우 lock table을 이용하여 테이블을 잠그는것이 좋다 MYI , MYD파일은 백업해두어야함

사용법

LOOK걸기

mysql>lock tanles [table] READ;

mysql>flush tables;

myisamchk 로 복구를 위한 LOCK걸기

mysql>lock tables [table] write;

mysql>flush tables;

 

검사할 db는 /usr/local/mysql/var 밑에 위치함

에러메세지가 없으면 테이블에 오류가 없다는 것임

/usr/local/mysql/bin/myisamchk [옵션] [검사할 테이블명]

localhost]#/usr/local/mysql/bin/myisamchk /usr/local/mysql/var/mysql/test.MYI

root@test.var] myisamchk -m, --medium-check [table명]

 

myisamchk 에 -r -q 옵션을 추가하여 테이블 복구

unique key를 제외한 대부분을 복구한다.

root@test.var]myisamchk -r,--recover [table 명]


sorting하면서 테이블을 복구한다. temporary파일과 같은 아주 큰 파일 역시 복구
  root@test.var]myisamchk -n,--sort-recover [table 명]


-r옵션보다 느리지만 좀더 섬세한 복구
 root@test.var]myisamchk -o,--safe-recover [table 명]

  데이터 파일의 수정없이 복구
  root@test.var]myisamchk -q,--quick [table 명]

 

LOOK 풀기

mysql>unlock table;


--> 데이터 깨졌을경우 다른방법으로는

mysql 접속후

use 해당db

mysql>repair table 테이블명;

이상입니다.

[출처] db 복구|작성자 상익맘


'DBMS > Mysql' 카테고리의 다른 글

Mysql 주소  (0) 2010.10.25
ALTER TABLE 기본구조  (0) 2010.06.27
테이블생성  (0) 2010.06.27

관련글 더보기

댓글 영역