RadarURL

데이터베이스
2005.11.26 02:11

MySql 테이블 검사 및 복구하기 [ myisamchk ]

조회 수 10340 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기 인쇄
[ myisamchk 란 ? ]

- DB 테이블에대한 오류 검사 및 오류 복구 유틸리티
- 버전 3.22.x : isamchk 유틸리티 사용
        3.23.x : myisamchk 유틸리티 사용

[ myisamchk 사용전 주의사항 ]

- mysql 데몬을 stop 시킨후 이 유틸리티를 사용해야한다.
- mysql 데몬을 중지시킬수 없는 사항이라면 검사할 테이블에대한 rock을 걸고
   검사를 수행하여야만 검사도중에 발생할수있는 오류를 막을수있다.
- 모든작업이 그렇듯이 항상 백업을 한후 작성을 수행하는것이 좋을것이다.

[ myisamchk 사용법 및 옵션 ]  

- 해당 테이블이있는 디렉토리로 이동 ( 일반적으로 /usr/local/mysql/var 밑에
   위치함 )

1.일반적인 검사

[root@angelsoma var]myisamchk [table 명]
  
  Checking MYISAM file: [table 명]
  Data records:     271   Deleted blocks:       0
  - check file-size
  - check delete-chain
  - check index reference
  - check record links  
  에러메시지가 없으면 테이블에 오류가 없다는것이다.

  2.Global 옵션

  [root@angelsoma var]myisamchk -s,--silent [table 명]
  
   에러만 출력한다.
    
  [root@angelsoma var]myisamchk -v,--verbose [table 명]

   -s 옵션보다 많은 정보를 출력한다.

  [root@angelsoma var]myisamchk -V
  
   myisamchk 버젼을 표시한다.

  3.Check 옵션  
    
  [root@angelsoma var]myisamchk -c,--check [table 명]

   테이블의 에러를 check 한다.

  [root@angelsoma var]myisamchk -e,--extend-check [table 명]

   테이블을 좀더 세밀하게 check 한다. 일반적인 방법으로 error를 찾을수없
   경우 사용하는 옵션이다.

  [root@angelsoma var]myisamchk -F,--fast [table 명]

   빠른게 테이블 check 한다.정교한 체크는 하지않느다.

  [root@angelsoma var]myisamchk -C,--check-only-changed [table 명]

   테이블을 check 하고,테이블을 check 이후의 상태로 변경한다.

  [root@angelsoma var]myisamchk -f,--force [table 명]

   테이블에 error에 있을경우 강재로 check 한다.

  [root@angelsoma var]myisamchk -i,--information [table 명]

   check한 결과의 정보를 통계화하여 보여준다.
    
   Checking MyISAM file: insertdb
   Data records:    8962   Deleted blocks:       0
   - check file-size
   - check key delete-chain
   - check record delete-chain
   - check index reference
   - check data record references index: 1
   Key:  1:  Keyblocks used:  97%  Packed:    0%  Max levels:  2
   Total:    Keyblocks used:  97%  Packed:    0%

   - check record links
   Records:   8962    M.recordlength:    241   Packed:             0%
   Recordspace used: 100%   Empty space:    0%  Blocks/Record:   1.00
   Record blocks:   8962    Delete blocks:         0
   Record data:    2166962    Deleted data:          0
   Lost space:         6796    Linkdata:          33634

   User time 0.21, System time 0.02
   Maximum resident set size 0, Integral resident set size 0
   Non-physical pagefaults 92, Physical pagefaults 198, Swaps 0
   Blocks in 0 out 0, Messages in 0 out 0, Signals 0
   Voluntary context switches 0, Involuntary context switches 0

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

   extend-check 옵션보다 check 속도가빠르며,99.9 % 의 에러을 찾을수있다.

  4.Repair 옵션  

   [root@angelsoma var]myisamchk -o -B,--backup [table 명]
    
   - recovering (with sort) MyISAM-table 'insertdb.MYI'
   Data records: 8962
   - Fixing index 1

   MYD파일을 백업한다. 형식은 [filename-time.BAK]의 파일이 생긴다.
    
   [root@angelsoma var]myisamchk -e,--extend-check [table 명]

   세부적인 파일까지 복구를해준다.일반적으로 아주 하찮은 에러까지 찾을수
   있다.하지만 자포자기의 상태가 아니고서는 이옵션을 사용하지 않는게 좋다.

   [root@angelsoma var]myisamchk -f,-force [table 명]

    이전것의 temporary file을 덥어쒸운다.

   [root@angelsoma var]myisamchk -l,--no-symlinks [table 명]

    심복릭 링크를 따르지않겠다는 옵션이다. 일반적으로 myisamchk 는symlink  
    points를 복구한다.

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

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

   [root@angelsoma var]myisamchk -n,--sort-recover [table 명]

    sorting하면서 테이블을 복구한다. 심지어 temporary 파일과 같은 아주 큰
    파일역시 sorting하면서 복구한다.

   [root@angelsoma var]myisamchk -o,--safe-recover [table 명]

    -r 옵션보다 느리게 복구한다.그러나 좀더 섬세한 복구를 지원한다.

   [root@angelsoma var]myisamchk -q,--quick [table 명]

    테이터 파일의 수정없이 복구한다.

  5.기타 옵션

   [root@angelsoma var]myisamchk -a,--analyze [table 명]

   key의 distribution 을 분석한다.
   만약, distribution 을 산출하고 싶을경우에는 --verbose 나 --describe 라
   는 옵션과 동행해서 확인할수있다.

   [root@angelsoma var]myisamchk -d,--description [table 명]

    테이블에 대한 정보를 출력한다.

   [root@angelsoma var]myisamchk -S,--sort-index [table 명]

    index 블록을 sort한다.

   [root@angelsoma var]myisamchk -R[index번호],--sort-records [table 명]

    index 번호를 기준으로 인덱스를 정렬해준다.

      

  6.검사중 아래의 메시지가출력되면 해당테이블을 사용중이라는 의미이므로 테
    이블에 LOCK을 걸든가 데몬을 죽이고 나서 검사 및 복구를해야함.

    myisamchk: warning: 1 clients is using or hasn't closed the table  
    properly

  7.LOCK 걸기
    
    myisamchk 는 테이블에대한 read 만 할수있으면 되기때문데 read 를 제외한
    모든것에 lock을 걸면된다.
    
    mysql> lock tables [table 명] READ ;
    mysql> flush tables ;

    flush tables 는 mysql이 테이블의 내용을 메모리에만 보관하고 실제 테이
    블파일에 기록을하지 않았을경우 실제 테이블파일에 기록하라는 의미이다
  
  8.LOCK 풀기

    mysql> unlock talbe;

  9.Myisamchk 로 복구를 위한 LOCK 걸기
    
   서비스를 죽이지않고 복구를 해야할경우는 write lock를 걸어주면된다.
   복구는 write 를 해야하기때문에 write lock를 걸어줘야한다.
    
   mysql>lock tables [table명] write;
   mysql>flush tables;

  10.LOCK 풀기

   mysql> unlock table;

출처 : http://hackersnews.org/hn/read.cgi?board=hn_mysql_tip&y_number=40&nnew=2
?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 1958859
2578 취업 을지로가라오케 010 2817 0845 을지로 가라오케 예약 및 문의 new 속삭이는와이번53 2026.10.04 1
2577 기타 강남세븐❤️OlO-8655-OO53❤️친절문의환영 #강남세븐 #강남세븐위치 #역삼동세븐 #강남세븐데이즈 #강남풀싸롱 #역삼동풀싸롱 #선릉역풀싸롱 #역삼동룸싸롱 #역삼룸사롱 #역삼풀살롱 #강남미러초이스 #역삼미러초이스 #강남세인트 #강남야구장 #선릉역야구장 #선릉룸싸롱 #역삼동룸싸롱위치 #강남풀싸롱가격 #역삼풀싸롱예약 #역삼동세븐데이즈 #역삼동풀싸롱 #역삼풀사롱추천 #역삼동룸싸롱 #역삼룸사롱 #역삼역풀싸롱 new 괴랄한재규어89 2026.10.04 1
2576 웹광고 완벽한 웨딩누브라, 소네트브라이드에서 찾다 new 비어있는히드라74 2026.10.04 1
2575 u-E(동향) 손목터널증후군, 현명한 선택 기준 new 강철의달고나32 2026.10.04 3
2574 가상화 양산싱크대막힘 완벽 해결 뚫자하수구 new 매혹적인곰18 2026.10.04 2
2573 u-E(표준화) 파주누수업체 고민 끝! 완벽 해결 new 사악한수색자59 2026.10.04 2
2572 웹 프로그래밍 양산싱크대막힘? 뚫자하수구로 해결! new 깊은우동그릇23 2026.10.04 2
2571 u-E(운영) 인천 1등 노래방 new 은하의드래곤51 2026.10.04 4
2570 취미 강남하이퍼블릭❤️OlO-8655-OO53❤️친절문의환영 #강남하이퍼블릭 #강남하퍼 #강남퍼블릭 #역삼동하이퍼블릭 #선릉하이퍼블릭 #대치동하이퍼블릭 #강남역하이퍼블릭 new 괴랄한재규어89 2026.10.04 2
2569 u-E(TestBed) 잠원동노래방 010 2817 0845 잠원동에서 편하게 알아보는 노래방 new 수수한히드라93 2026.10.04 2
2568 경제 특별한 가치를 담은 기념품제작의 시작 new 익살스러운오소리50 2026.10.04 4
2567 u-E(동향) 대구 흥신소 이용 가이드 new 흔들리는골렘32 2026.10.04 2
2566 육아,교육 손목터널증후군, 미세내시경으로 극복하기 new 소란스러운운석15 2026.10.04 3
2565 건강 토보샵: 명품레플리카 쇼핑몰의 모든 것 new 얼어붙은흐름98 2026.10.04 3
2564 카메라 ㅇㅇ병원, 부산 치과부터 피부과까지 완벽 가이드 new 은하의수색자14 2026.10.04 2
2563 u-E(법,정책) 24시노래방 new 사악한궁수89 2026.10.04 3
2562 u-E(전략) ㅇㅇ병원, 차원 다른 의료 서비스 경험 new 야생의스컹크61 2026.10.04 4
2561 취업 카_톡 gusim8003 선불유심내구제 (24시문의) 작업대출 선불유심 급한돈 가전내구제 new 광휘의퀘이사33 2026.10.03 4
2560 업무 강남안마❤️OlO-7593-9850❤️친절문의24시 #강남안마 #강남안마방 #강남클럽안마 #강남클럽식안마 #역삼동안마 #선릉안마 #삼성동안마 #대치동안마 #강남역안마 #논현동안마 괴랄한재규어89 2026.10.03 5
2559 보안 성공적인 베트남국제결혼의 시작, 에스비웨딩 성실한와이번25 2026.10.03 3
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 129 Next
/ 129


즐겨찾기 (가족)

JAESOO's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너