• 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 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 1. 스토리지 엔진 설정
    2. MyISAM 스토리지 엔진
    1. MyISAM 시작 옵션
    2. Key에 필요한 용량
    3. MyISAM 테이블 스토리지 포맷
    4. MyISAM 테이블의 문제점
    1. MyISAM 테이블 손상
    2. 제대로 닫혀지지 않았던 테이블의 문제
    3. MEMORY 스토리지 엔진
    4. CSV 스토리지 엔진
    5. ARCHIVE 스토리지 엔진
    6. BLACKHOLE 스토리지 엔진
    7. MERGE 스토리지 엔진
    8. FEDERATED 스토리지 엔진
    9. EXAMPLE 스토리지 엔진
    10. 다른 스토리지 엔진
    11. MySQL 스토리지 엔진 아키텍처 개요
  • 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 새로운 기능

15.2.4.1 MyISAM 테이블 손상

MyISAM 테이블 형식은 매우 안정적인 포맷입니다 (SQL 문이 수행 테이블에 대한 모든 변경은 그 문이 돌아 오기 전에 기록됩니다)하지만 여전히 다음과 같은 상황이 발생하면 테이블이 손상 우려가 있습니다.

  • mysqld 프로세스는 쓰기 중에 강제 종료됩니다.

  • 컴퓨터가 예기치 않게 종료됩니다 (예 : 컴퓨터의 전원이 꺼 졌을 경우 등).

  • 하드웨어 장애.

  • 서버가 수정중인 테이블을 외부 프로그램 (myisamchk 등)를 사용하여 동시에 수정하고 있습니다.

  • MySQL 또는 MyISAM 코드의 소프트웨어 버그입니다.

테이블이 손상된 경우의 전형적인 증상은 다음과 같습니다.

  • 테이블에서 데이터를 선택할 때 다음 오류가 표시됩니다.

     Incorrect key file for table : '...'. Try to repair it
    
  • 쿼리가 테이블에서 행을 감지하지 않거나 불완전한 결과를 반환합니다.

MyISAM 테이블의 상태를 CHECK TABLE 문을 이용하여 확인할 수 있으며, 손상된 MyISAM 테이블을 REPAIR TABLE 을 이용하여 복구 할 수 있습니다. mysqld가 동작하지 않는 경우, myisamchk 명령어를 이용하여 테이블을 확인하거나 복구 할 수 있습니다. 섹션 13.7.2.2 "CHECK TABLE 구문」 , 섹션 13.7.2.5 "REPAIR TABLE 구문」 및 섹션 4.6.3 "myisamchk - MyISAM 테이블 유지 보수 유틸리티" 를 참조하십시오.

테이블이 자주 파손되는 경우는 그 원인을 파악하도록하십시오. 가장 중요한 것은 서버의 충돌에 의해 테이블​​이 손상되었는지 여부를 확인하는 것입니다. 오류 로그의 최신 restarted mysqld 메시지를 검색하면 쉽게 확인할 수 있습니다. 이런 메시지가있는 경우, 테이블의 손상은 서버 다운에 의한 가능성이 높아집니다. 그렇지 않으면 손상은 일반적 작업 중에 일어난 가​​능성이 있습니다. 이것은 버그입니다. 문제점을 명확히 재현 가능한 테스트 케이스를 작성해야합니다. 섹션 B.5.4.2 "MySQL이 계속 충돌하는 경우의 대처 방법" 및 섹션 24.4 "MySQL의 디버그 및 이식" 을 참조하십시오.

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