• 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 스토리지 엔진
  • 1. InnoDB 소개
    2. InnoDB의 개념과 아키텍처
    3. InnoDB 구성
    4. InnoDB 관리
    5. InnoDB 테이블 스페이스 관리
    1. InnoDB 테이블 스페이스 생성
    2. InnoDB File-Per-Table 모드
    3. File-Per-Table 모드 활성화 및 비활성화
    4. 테이블 공간의 위치 지정
    5. 테이블 공간의 다른 서버로 복사 (이동 가능한 테이블 스페이스)
    6. 별도의 테이블 스페이스에 InnoDB Undo 로그 저장
    7. InnoDB 로그 파일의 크기 변경 및 InnoDB 테이블 스페이스의 크기 변경
    8. 공유 테이블 스페이스에서 RAW 디스크 파티션의 사용
    6. InnoDB 테이블 관리
    7. InnoDB 압축 테이블
    8. InnoDB 파일 형식 관리
    9. InnoDB Row Storage and Row Formats
    10. InnoDB 디스크 I/O 및 파일 영역 관리
    11. InnoDB와 온라인 DDL
    12. InnoDB 부팅 옵션 및 시스템 변수
    13. InnoDB의 성능
    14. InnoDB INFORMATION_SCHEMA 테이블
    15. InnoDB 모니터
    16. InnoDB 백업 및 복구
    17. InnoDB와 MySQL 복제
    18. InnoDB 및 memcached의 통합
    19. 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 새로운 기능

14.5.3 File-Per-Table 모드 활성화 및 비활성화

file-per-table 모드를 MySQL 서버의 기본려면, --innodb_file_per_table 명령 행 옵션으로 서버를 시작하거나 my.cnf 의 [mysqld] 섹션에 다음 줄을 추가합니다.

[mysqld]
innodb_file_per_table

서버가 작동하는 동안 명령을 발행 할 수 있습니다.

SET GLOBAL innodb_file_per_table=1;

file-per-table 모드가 활성화되면 InnoDB 는 적절한 데이터베이스 디렉터리 내의 고유의 tbl_name .ibd 파일에 새로 작성된 각 테이블을 저장합니다. MyISAM 스토리지 엔진과는 달리, 인덱스 및 데이터에 각각 tbl_name .MYD 와 tbl_name .MYI 파일이 있으면, InnoDB 는 데이터 및 인덱스를 함께 하나의 .ibd 파일에 저장합니다. 그래도 tbl_name .frm 파일은 기존대로 만들어집니다.

사용할 부팅 옵션에서 innodb_file_per_table 을 삭제하고 서버를 다시 시작하거나 SET GLOBAL 명령에서 옵션을 해제하면 InnoDB 시스템 테이블 스페이스에 새 테이블을 만듭니다.

file-per-table 설정에 관계없이 InnoDB 테이블의 읽기 및 쓰기는 항상 실행할 수 있습니다.

테이블을 시스템 테이블 공간에서 자신의 테이블 스페이스로 이동하려면 또는 그 반대 방향으로 테이블을 이동하려면 innodb_file_per_table 설정을 변경하고 테이블을 다시 작성합니다.

-- Move table from system tablespace to its own tablespace.
SET GLOBAL innodb_file_per_table=1;
ALTER TABLE table_name ENGINE=InnoDB;
-- Move table from its own tablespace to system tablespace.
SET GLOBAL innodb_file_per_table=0;
ALTER TABLE table_name ENGINE=InnoDB;
      
참고

InnoDB 내부 데이터 사전 및 Undo 로그 를 시스템 테이블 공간에 배치하기 위해 항상이 테이블 공간이 필요합니다. .ibd 파일은 InnoDB 가 작동하는 데 충분하지 않습니다.

시스템 테이블 공간에서 자신의 .ibd 파일에 테이블이 이동 된 경우 시스템 테이블 스페이스를 구성하는 데이터 파일의 크기는 유지됩니다. 이전에 테이블이 점유 한 공간은 새로운 InnoDB 데이터 용으로 재사용 할 수 있지만 운영 체제 용으로 재사용되지 않습니다. 시스템 테이블 공간에서 디스크 공간이 제한되어있는 곳에 대규모 InnoDB 테이블을 이동하는 경우 innodb_file_per_table 을 선택하고 mysqldump 명령을 사용하여 인스턴스 전체를 다시 작성하는 것이 좋습니다.


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