RadarURL
Skip to content
조회 수 6892 추천 수 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
?

  1. No Image 16Apr
    by 처누
    2004/04/16 by 처누
    Views 7326 

    mySQL에서 사용자와 권한

  2. No Image 06Jun
    by 처누
    2004/06/06 by 처누
    Views 7355 

    Mysql 기초-DB 설치, 관리자지정, 계정추가 등

  3. No Image 26Nov
    by JaeSoo
    2005/11/26 by JaeSoo
    Views 6892 

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

  4. No Image 16Feb
    by JaeSoo
    2006/02/16 by JaeSoo
    Views 7859 

    mysql에서 사용자 계정 비밀번호 변경 방법

  5. No Image 25Jan
    by JaeSoo
    2010/01/25 by JaeSoo
    Views 7581 

    MySQL에서 테이블을 생성할때 MyISAM과 InnoDB 어느것을 선택하나요?

  6. No Image 05May
    by JaeSoo
    2010/05/05 by JaeSoo
    Views 8115 

    [Mysql] 범위 삭제 DELETE 쿼리

  7. No Image 30Apr
    by JaeSoo
    2011/04/30 by JaeSoo
    Views 8529 

    mysql 4.x 버전의 euc-kr(latin1) DB를 mysql 5.x 버전으로 이전 하는법

  8. No Image 08Jun
    by JaeSoo
    2011/06/08 by JaeSoo
    Views 10702 

    MySQL Dump뜨는 방법 및 복구 방법

  9. No Image 16Jun
    by JaeSoo
    2011/06/16 by JaeSoo
    Views 12686 

    fedora core4 mysql 서버설치 및 windows client로 접속

  10. No Image 16Jun
    by JaeSoo
    2011/06/16 by JaeSoo
    Views 10362 

    [Fedora 8] Mysql 5.0.67 설치

  11. No Image 16Sep
    by JaeSoo
    2011/09/16 by JaeSoo
    Views 9270 

    Mysql DB 손상됬을경우 점검 및 복구 명령

  12. No Image 15Nov
    by JaeSoo
    2011/11/15 by JaeSoo
    Views 7600 

    MySQL 재설치시 오류

  13. No Image 15Nov
    by JaeSoo
    2011/11/15 by JaeSoo
    Views 5561 

    MySQL Data file 위치

  14. No Image 15Nov
    by JaeSoo
    2011/11/15 by JaeSoo
    Views 5745 

    MySQL Plugin 'InnoDB' init function returned error.

  15. No Image 05Jun
    by JaeSoo
    2012/06/05 by JaeSoo
    Views 4627 

    mysqlcheck 유틸리티 사용법(analyze, optimize, repair)

  16. 윈도우환경에서 MySQL 설치하기

  17. No Image 13Mar
    by JaeSoo
    2013/03/13 by JaeSoo
    Views 1355 

    MySQL database 정보 import하기

  18. No Image 19Mar
    by JaeSoo
    2013/03/19 by JaeSoo
    Views 1617 

    MySQL 테이블 형태 변경하기 MyISAM -> InnoDB(또는 InnoDB -> MyISAM)

  19. No Image 19Mar
    by JaeSoo
    2013/03/19 by JaeSoo
    Views 6768 

    [MySQL] phpMyAdmin으로 MyISAM 테이블 형식을 InnoDB로 바꾸기

  20. 왜 MySQL 에서 InnoDB 를 써야하는가? InnoDB vs MyISAM 비교

Board Pagination Prev 1 2 Next
/ 2

PageViews   Today : 10138 Yesterday : 5037 Total : 21966190  /  Counter Status   Today : 9792 Yesterday : 4602 Total : 1192515

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소