• 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.2 제대로 닫혀지지 않았던 테이블의 문제

각 MyISAM 인덱스 파일 ( .MYI 파일)에는 테이블이 제대로 닫혔는지 여부를 확인하는 데 사용할 수있는 카운터가 헤더에 있습니다. CHECK TABLE 또는 myisamchk에서 다음과 같은 경고가 표시되는 경우이 카운터가 동기화 않았 음을 보여줍니다.

 clients are using or have not closed the table properly

이 경고는 반드시 테이블이 파손 된 것을 의미하는 것은 아니지만 적어도 테이블을 확인하는 것이 좋습니다.

카운터는 다음과 같이 작동합니다.

  • MySQL에서 테이블이 먼저 업데이트 될 때 인덱스 파일의 헤더에있는 카운터가 증가합니다.

  • 이후 업데이트에서는 카운터는 변경되지 않습니다.

  • 테이블의 마지막 인스턴스가 닫힐 때 ( FLUSH TABLES 작업이 수행 되었기 때문에, 또는 테이블 캐시에 장소가 없기 때문에), 지금까지 테이블이 업데이트되어, 카운터 값이 감소합니다.

  • 테이블을 복구하거나 체크하고 문제가 없었던 경우는 카운터가 0으로 재설정됩니다.

  • 테이블을 검사 할 수있는 다른 프로세스와의 상호 작용의 문제를 해결하기 위해 카운터가 0이면 테이블을 닫을 때 카운터 값은 줄어들지 않습니다.

즉, 카운터가 정확하지 않을 수있는 것은 다음과 같은 경우뿐입니다.

  • MyISAM 테이블의 복사본을 먼저 LOCK TABLES 과 FLUSH TABLES 을 발행하지 열린다.

  • MySQL이 업데이트 된 후 닫힐 때까지의 사이에 충돌했다. (단, MySQL은 각 문에서 발생한 모든 기록을 항상 게시 할 테이블에 문제가 없을 수도 있습니다).

  • mysqld와 함께 사용되는 myisamchk --recover 또는 myisamchk --update-state 의해 테이블이 수정되었다.

  • 다른 서버에서 사용되는 동안 여러 mysqld 서버가 테이블을 사용하여 하나의 서버가 REPAIR TABLE 또는 CHECK TABLE 테이블에서 실행했다. 이 설정은 다른 서버에서 경고를받을 수 있습니다 만, CHECK TABLE 의 사용이 안전합니다. 그러나 서버가 데이터 파일을 새로운 파일로 대체 한 경우 다른 서버에 알리지 않아 REPAIR TABLE 은 피해야한다.

    일반적으로 여러 서버간에 데이터 디렉토리를 공유하는 것은 권장되지 않습니다. 자세한 내용은 5.3 절 "하나의 시스템에서 여러 MySQL 인스턴스 실행" 을 참조하십시오.


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