• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 1. MySQL 프로그램 개요
    2. MySQL 프로그램 사용
    3. MySQL 서버와 서버 시작 프로그램
    4. 설치 관련 프로그램
    5. 클라이언트 프로그램
    6. MySQL 관리 프로그램 및 유틸리티 프로그램
    1. innochecksum - 오프라인 InnoDB 파일 체크섬 유틸리티
    2. myisam_ftdump - 전체 텍스트 인덱싱 정보보기
    3. myisamchk - MyISAM 테이블 유지 보수 유틸리티
    1. myisamchk 일반 옵션
    2. myisamchk의 체크 옵션
    3. myisamchk의 복구 옵션
    4. 기타 myisamchk 옵션
    5. myisamchk에 의한 테이블 정보 검색
    6. myisamchk 메모리 사용량
    4. myisamlog - MyISAM 로그 파일의 내용보기
    5. myisampack - 압축 된 읽기 전용 MyISAM 테이블의 생성
    6. mysql_config_editor - MySQL 구성 유틸리티
    7. mysqlaccess - 액세스 권한을 확인하는 클라이언트
    8. mysqlbinlog - 바이너리 로그 파일을 처리하기위한 유틸리티
    9. mysqldumpslow - 슬로우 쿼리 로그 파일의 요약
    10. mysqlhotcopy - 데이터베이스 백업 프로그램
    11. mysql_convert_table_format - 지정된 스토리지 엔진을 사용하는 테이블의 변환
    12. mysql_find_rows - 파일에서 SQL 문을 추출
    13. mysql_fix_extensions - 테이블 파일 확장명의 정규화
    14. mysql_setpermission - 부여 테이블에 허가를 대화식으로 설정
    15. mysql_waitpid - 프로세스를 종료하고 종료를 대기
    16. mysql_zap - 패턴과 일치하는 프로세스를 강제 종료
    7. MySQL 프로그램 개발 유틸리티
    8. 기타 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

4.6.3 myisamchk - MyISAM 테이블 유지 보수 유틸리티

4.6.3.1 myisamchk 일반 옵션
4.6.3.2 myisamchk의 체크 옵션
4.6.3.3 myisamchk의 복구 옵션
4.6.3.4 기타 myisamchk 옵션
4.6.3.5 myisamchk에 의한 테이블 정보 검색
4.6.3.6 myisamchk 메모리 사용량

myisamchk 유틸리티는 데이터베이스 테이블에 대한 정보를 얻거나 데이터베이스 테이블 검사, 복구 또는 최적화를 수행 할 수 있습니다. myisamchk는 MyISAM 테이블 (데이터 및 인덱스의 저장을위한 .MYD 와 .MYI 파일이있는 테이블)에 작동합니다.

또한 CHECK TABLE 및 REPAIR TABLE 문을 사용하여 MyISAM 테이블을 체크하고 복구 할 수 있습니다. 섹션 13.7.2.2 "CHECK TABLE 구문」 및 섹션 13.7.2.5 "REPAIR TABLE 구문" 을 참조하십시오.

myisamchk를 파티션 된 테이블에 사용하는 것은 지원되지 않습니다.

주의

테이블의 복구 작업을 수행하기 전에 테이블을 백업하는 것이 좋습니다. 상황에 따라이 작업을 위해 데이터 손실이 발생할 수 있습니다. 가능한 원인으로는 파일 시스템의 오류 등이 있지만 이에 국한되지 않습니다.

myisamchk는 다음과 같이 시작합니다.

 shell> myisamchk [ options ] tbl_name ...

options 는 myisamchk에 실행시키는 내용을 지정합니다. 다음 섹션에서는 이러한 설명합니다. 또한 myisamchk --help를 실행하여 옵션의 목록을 얻을 수 있습니다.

옵션을 지정하지 않으면, myisamchk는 기본 동작으로 사용자의 테이블을 확인합니다. 자세한 정보를 얻거나 myisamchk에 시정 조치를 취하게하는 다음의 논의에 설명 된대로 옵션을 지정하십시오.

tbl_name 은 점검 또는 수리 데이터베이스 테이블입니다. 데이터베이스 디렉토리 외부에서 myisamchk를 시작하려면 데이터베이스 디렉토리 경로를 지정해야합니다. 이것은 myisamchk는 데이터 디렉토리의 위치를 전혀 모르기 때문입니다. 사실, myisamchk는 작업하려는 파일이 데이터베이스 디렉토리에 있는지 고려하지 않습니다. 데이터베이스 테이블에 응대하는 파일을 다른 위치로 복사하여 이에 해당 파일에 대해 복구 작업을 수행 할 수 있습니다.

필요에 따라 myisamchk 명령 줄에서 여러 테이블을 지정할 수 있습니다. 인덱스 파일 ( .MYI 접미사가 붙은 파일)을 지명하여 테이블을 지정할 수도 있습니다. 그러면 패턴 *.MYI 을 사용합니다. 디렉토리의 모든 테이블을 지정하는 것도 가능합니다. 예를 들어 데이터베이스 디렉토리에 있다면 다음과 같이 디렉토리의 모든 MyISAM 테이블을 확인할 수 있습니다.

 shell> myisamchk *.MYI

데이터베이스 디렉토리 이외의 위치에서 디렉토리 경로를 지정하여 모든 테이블을 확인할 수 있습니다.

 shell> myisamchk /path/to/database_dir/ *.MYI

MySQL 데이터 디렉토리 경로에 와일드 카드를 지정하여 모든 데이터베이스의 모든 테이블을 확인하실 수 있습니다.

 shell> myisamchk /path/to/datadir/*/* .MYI

모든 MyISAM 테이블을 체크하는 것이 좋습니다 방법은 :

 shell> myisamchk --silent --fast /path/to/datadir/*/* .MYI

모든 MyISAM 테이블을 검사하여 손상된 것을 복구하려면 다음 명령을 사용할 수 있습니다.

 shell> myisamchk --silent --force --fast --update-state \
          --key_buffer_size=64M --myisam_sort_buffer_size=64M \
          --read_buffer_size=1M --write_buffer_size=1M \
          
/path/to/datadir/*/* .MYI 

이 명령은 64M 바이트 이상의 여유가있는 것이 전제입니다. myisamchk와 메모리 할당 대한 자세한 내용은 섹션 4.6.3.6 "myisamchk 메모리 사용량" 을 참조하십시오.

myisamchk 사용에 대한 자세한 내용은 섹션 7.6 "MyISAM 테이블의 보수와 크래쉬 복구" 를 참조하십시오.

중요

myisamchk의 실행 중에 다른 프로그램이 테이블을 사용하지 않는 것을 보증해야합니다. 이를위한 가장 효과적인 방법은 myisamchk가 실행되는 동안 MySQL 서버를 종료하거나 myisamchk가 대상으로하는 모든 테이블을 잠그는 방법입니다.

그렇지 않으면, myisamchk를 시작할 때 다음과 같은 오류가 나타날 수 있습니다.

 warning : clients are using or have not closed the table properly

이것은 다른 프로그램 (mysqld 서버 등)이 테이블을 업데이트하고 파일을 아직 닫지 않았거나 파일을 제대로 닫지 않고 비정상적으로 종료 된 테이블을 확인하려고하는 것을 의미합니다. 이 경우 하나 이상의 MyISAM 테이블이 손상 될 수 있습니다.

mysqld가 실행중인 경우, FLUSH TABLES 를 사용하여 메모리에 버퍼링 된 테이블에 변경 사항이 있으면, 그것을 플래시하도록 명령해야합니다. 그 후, myisamchk의 실행 중에 다른 프로그램이 테이블을 사용하지 않는 것을 보증해야합니다.

그러나이 문제를 해결하는 가장 쉬운 방법은 myisamchk 대신 CHECK TABLE 을 사용하여 테이블을 체크하는 방법입니다. 섹션 13.7.2.2 "CHECK TABLE 구문" 을 참조하십시오.

myisamchk는 다음 옵션을 지원합니다. 이들은 명령 행 또는 옵션 파일의 [myisamchk] 그룹에서 지정할 수 있습니다. MySQL 프로그램에서 사용되는 옵션 파일에 대한 자세한 내용은 섹션 4.2.6 "옵션 파일 사용" 을 참조하십시오.

표 4.12 myisamchk 옵션

형식 설명 도입 비추천
--analyze 키 값의 분포를 분석

--backup .MYD 파일의 백업을 file_name-time.BAK로 작성

--block-search 지정된 오프셋의 블록이 속한 레코드를 검색

--check 테이블에 오류가 없는지 확인

--check-only-changed 마지막에 행해진 검사 이후에 변경된 테이블 만 체크

--correct-checksum 테이블의 체크섬 정보 수정

--data-file-length 데이터 파일의 최대 길이 (데이터 파일이 꽉 찼을 때 다시 작성하는 경우)

--debug 디버깅 로그를 작성한다

--decode_bits Decode_bits

--defaults-extra-file 일반 옵션 파일 이외에 옵션 파일을 읽을

--defaults-file 지명 된 옵션 파일 만 읽을

--defaults-group-suffix 옵션 그룹의 접미사 값

--description 테이블 설명 정보를 출력

--extend-check 데이터 파일의 모든 행을 복구하는 복구를 시도 매우 철저한 테이블을 검사 또는 복구를 실행

--fast 제대로 닫히지 않은 테이블 만 체크

--force myisamchk가 오류를 테이블에서 발견 한 경우 자동으로 복구 작업을 수행한다.

--force 오래된 임시 파일을 덮어. -r 옵션이나 -o 옵션과 함께 사용

--ft_max_word_len FULLTEXT 인덱스 단어의 최대 길이

--ft_min_word_len FULLTEXT 인덱스 단어의 최소 길이

--ft_stopword_file 내장의 목록이 아니라이 파일에서 중지 단어를 사용

--HELP 도움말 메시지를 표시하고 종료

--help 도움말 메시지를 표시하고 종료

--information 체크 된 테이블의 통계를 출력

--key_buffer_size MyISAM 테이블의 인덱스 블록에 사용하는 버퍼의 크기

--keys-used 어떤 인덱스를 업데이트 하는지를 나타내는 비트 값

--max-record-length myisamchk가 기억하는 메모리를 확보 할 수없는 경우, 지정된 길이를 초과하는 행을 건너

--medium-check --extend-check 조작보다 빠른 검사를 실행

--myisam_block_size MyISAM 인덱스 페이지에 사용되는 블록 크기.

--myisam_sort_buffer_size REPAIR 실행시 인덱스 정렬 또는 CREATE INDEX 또는 ALTER TABLE에 의한 인덱스 생성시 할당 된 버퍼 5.6.9
--no-defaults 옵션 파일을 읽지

--parallel-recover -r 및 -n과 동일한 기술을 사용하지만, 다른 스레드를 사용하여 모든 키를 동시에 생성 (β)

--print-defaults 기본 출력

--quick 데이터 파일을 변경하지 않는다 복구 속도를 향상.

--read_buffer_size 순차적 스캔을 실행하는 각 스레드는 스캔하는 각 테이블에 대해이 크기의 버퍼를 할당

--read-only 테이블을 검사 된 것으로 표시하지

--recover 고유없는 고유 키를 제외한 모든 복구 할 복구를 실행

--safe-recover 모든 행을 순서대로 읽고 검색된 행에 따라 모든 인덱스 트리를 업데이트하는 오래된 복구 방법을 사용하여 복구

--set-auto-increment 새 레코드가 지정된 값으로 시작하도록 AUTO_INCREMENT 넘버링을 강제

--set-collation 테이블 인덱스의 정렬에 사용할 데이터 정렬을 지정

--silent 자동 모드

--sort_buffer_size REPAIR 실행시 인덱스 정렬 또는 CREATE INDEX 또는 ALTER TABLE에 의한 인덱스 생성시 할당 된 버퍼
5.6.9
--sort-index 인덱스 트리 블록을 높은 것부터 낮은 항목 순으로 정렬

--sort_key_blocks sort_key_blocks

--sort-records 특정 인덱스에 따라 레코드를 정렬

--sort-recover 임시 파일의 크기가 매우 커서도 키의 해결에 정렬을 사용하는 것이 myisamchk에 강제

--stats_method MyISAM 인덱스 통계 컬렉션 코드에서 NULL의 처리 방법을 지정

--tmpdir 임시 파일의 정렬에 사용하는 디렉토리 경로

--unpack myisampack으로 압축 된 테이블의 압축을 풉니

--update-state 정보를 .MYI 파일에 저장하고 언제 테이블이 체크되었는지 및 테이블 충돌 여부를 확인합니다.

--verbose 중복 모드

--version 버전 정보를 출력하고 종료

--write_buffer_size 쓰기 버퍼 크기



서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved