• 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. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 1. Replication 구성
    2. Replication 구현
    3. Replication 솔루션
    1. 백업을 위해 Replication 사용
    2. 다른 Master 및 Slave 스토리지 엔진에서 복제
    3. 확장(Scale-Out)을 위한 복제
    4. 다른 데이터베이스를 다른 Slave에 복제
    5. Replication 성능을 향상
    6. 장애 발생시 Master 전환
    7. SSL을 사용하여 Replication 설정
    8. Semisynchronous Replication(반동기 복제)
    9. 복제 지연(Delayed Replication)
    4. Replication Notes and Tips
  • 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 새로운 기능

17.3.2 다른 Master 및 Slave 스토리지 엔진에서 복제

복제 프로세스는 마스터 소스 테이블과 슬레이브에서 대상 테이블이 다른 엔진 유형을 사용하고 있는지 여부는 중요하지 않습니다. 실제로 default_storage_engine 및 storage_engine 시스템 변수는 복제되지 않습니다.

이것은 다른 복제 시나리오에 다른 엔진 타입을 이용할 수 있다는 점에서 복제 프로세스에 몇 가지 장점을 제공합니다. 예를 들어, 전형적인 확장 시나리오 ( 섹션 17.3.3 "확장을 위해 복제 사용" 을 참조하십시오) 마스터에서 트랜잭션 기능을 이용하기 위해서는 InnoDB 테이블을 사용하여 슬레이브 는 데이터를 읽을만으로 트랜잭션 지원이 필요 없기 때문에 MyISAM 을 사용합니다. 데이터 로깅 환경에서 복제를 사용하는 경우, 슬레이브에서 Archive 스토리지 엔진을 사용하는 것이 좋습니다.

마스터 및 슬레이브에서 서로 다른 엔진을 구성할지 여부는 초기 복제 프로세스를 어떻게 설정하는지에 따라 달라집니다.

  • mysqldump를 사용하여 마스터 데이터베이스 스냅 샷을 생성 한 경우 덤프 파일 텍스트를 편집하여 각 테이블에서 사용되는 엔진 유형을 변경할 수 있습니다.

    mysqldump의 다른 사용 방법은 슬레이브에서 사용하지 않으 엔진 타입을 해제하고이 덤프를 사용하여 슬레이브에 데이터를 구축하는 것입니다. 예를 들어, FEDERATED 엔진을 해제하기 위해 --skip-federated 옵션을 슬레이브에 추가 할 수 있습니다. 작성하는 테이블에 특정 엔진이 존재하지 않는 경우, MySQL은 기본 엔진 유형 (일반적으로 MyISAM )를 사용합니다. (여기에는 NO_ENGINE_SUBSTITUTION SQL 모드가 활성화되지 않은 것이 필요합니다.)이 방법으로 다른 엔진을 해제하려면 필요한 엔진만을 지원하는 특별한 바이너리를 구축하고 슬레이브로 사용하는 것이 고려하는 것이 좋습니다.

  • 로우 데이터 파일 (바이너리 백업)을 사용하여 슬레이브를 설치하는 경우 첫 번째 테이블 형식을 변경할 수 없습니다. 대신에 노예가 시작된 후에 ALTER TABLE 을 사용하여 테이블 유형을 변경하십시오.

  • 새로운 마스터 / 슬레이브 복제 설정에서 마스터에 현재 테이블이 없으면 새 테이블을 만들 때 엔진 타입을 지정하는 것은 피하십시오.

복제 솔루션을 이미 실행하고 기존의 테이블을 다른 엔진 타입으로 변경하려면 다음 단계를 따르십시오.

  1. 슬레이브가 복제 업데이트를 수행하는 것을 중지합니다.

     mysql> STOP SLAVE;
    

    이렇게하면 중단없이 엔진 유형을 변경 할 수 있습니다.

  2. 변경 테이블마다 ALTER TABLE ... ENGINE=' engine_type ' 를 실행합니다.

  3. 슬레이브 복제 프로세스를 다시 시작합니다.

     mysql> START SLAVE;
    

default_storage_engine 변수는 복제되지 않지만 엔진 명세를 가진 CREATE TABLE 및 ALTER TABLE 문은 슬레이브에 올바르게 복제됩니다. 예를 들어, CSV 테이블이있는 경우이를 수행합니다.

 mysql> ALTER TABLE csvtable Engine='MyISAM';

위의 문장은 슬레이브에 복제 된 슬레이브에서 엔진 유형이 MyISAM 으로 변환됩니다 (이전에 슬레이브의 엔진 타입을 CSV 이외의 엔진으로 변경 한 경우에도). 마스터와 슬레이브로 엔진의 차이를 유지하려면 새 테이블을 만들 때 default_storage_engine 변수를 신중하게 사용하십시오. 예를 들어, 다음 대신 :

 mysql> CREATE TABLE tablea (columna int) Engine=MyISAM;

이 형식을 사용하십시오.

 mysql> SET default_storage_engine=MyISAM;
 mysql> CREATE TABLE tablea (columna int);

복제 될 때 default_storage_engine 변수는 무시되고 CREATE TABLE 문은 노예의 기본 엔진을 사용하여 슬레이브에서 실행됩니다.

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