• 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 솔루션
    4. Replication Notes and Tips
    1. Replication 기능과 이슈
    1. Replication and AUTO_INCREMENT
    2. Replication and BLACKHOLE 테이블
    3. Replication and Character Sets
    4. CREATE ... IF NOT EXISTS 문 복제
    5. CREATE TABLE ... SELECT 문 복제
    6. CREATE SERVER, ALTER SERVER 및 DROP SERVER 복제
    7. CURRENT_USER ()의 복제
    8. DROP ... IF EXISTS 문 복제
    9. 테이블 정의가 다른 마스터와 슬레이브에 복제
    10. Replication and DIRECTORY Table Options
    11. 호출되는 기능의 복제
    12. 복제 및 부동 소수점 값
    13. 복제 및 소수 초 지원
    14. 복제 및 FLUSH
    15. 복제와 시스템 함수
    16. 복제 및 LIMIT
    17. 복제 및 LOAD DATA INFILE
    18. 복제 및 REPAIR TABLE
    19. 복제 및 마스터 또는 슬레이브 Shutdowns
    20. 복제와 max_allowed_pa​​cket
    21. 복제 및 MEMORY 테이블
    22. 복제 및 임시 테​​이블
    23. mysql 시스템 데이터베이스의 복제
    24. 복제 및 쿼리 최적화
    25. 복제 및 예약어
    26. 복제중인 슬레이브 오류
    27. 서버 측 도움말 테이블의 복제
    28. Replication 및 서버 SQL 모드
    29. Replication 시도 및 시간 제한
    30. Replication 및 Time Zones
    31. Replication 및 트랜잭션
    32. Replication 및 트리거
    33. Replication 및 TRUNCATE TABLE
    34. Replication 및 변수
    35. Replication 및 Views
    2. MySQL 버전 간의 복제 호환성
    3. Replication 설정 업그레이드
    4. Replication 문제 해결
    5. Replication 버그 또는 문제를보고하는 방법
  • 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.4.1.5 CREATE TABLE ... SELECT 문 복제

이 섹션에서는 MySQL이 CREATE TABLE ... SELECT 문을 복제하는 방법을 설명합니다.

MySQL 5.6은 CREATE TABLE ... SELECT 문이이 문에서 생성 된 테이블 이외의 테이블로 변경할 것을 허용하지 않습니다. 이것은 이전 버전의 MySQL (이 문장이 이렇게하는 것을 허용했습니다)에서 동작의 변경입니다. 이것은 MySQL 5.6 이후의 슬레이브와 이전 버전의 MySQL을 실행하는 마스터 사이에서 문 기반 복제를 사용할 때 마스터의 다른 테이블로 변경할 CREATE TABLE ... SELECT 문 이 슬레이브에서 실패 복제가 정지하는 것을 의미합니다. 이것이 발생하지 않도록하려면 열 기반 리플리케이션을 사용하거나 문제가있는 명령문을 마스터에서 실행하기 전에 다시 작성하거나 마스터를 MySQL 5.6 (이상)으로 업그레이드하십시오. (마스터를 업그레이드하도록 선택하는 경우, 이러한 CREATE TABLE ... SELECT 문은 다른 테이블에서의 부작용을 없애기 위해 재 작성되지 않은 한, 업그레이드 후 실패하는 것에 유의하십시오.) 이것은 행 기반 응용 프로그램을 사용할 때는 문제가되지 않습니다. 이 문 로그가 CREATE TABLE ... SELECT 전체가 아니라 CREATE TABLE 문으로 기록된다 (테이블 데이터에 변경 로그가 행 삽입 이벤트로 기록된다) 때문입니다.

이러한 동작은 MySQL 버전에 의존하지 않습니다.

  • CREATE TABLE ... SELECT 는 항상 암시 적 커밋을 실행합니다 ( 섹션 13.3.3 "암시 적 커밋을 발생시키는 문" ).

  • 목표 테이블이 존재하지 않는 경우, 로깅은 다음과 같이 발생합니다. IF NOT EXISTS 가 존재하는지 여부는 중요하지 않습니다.

    • STATEMENT 또는 MIXED 형식 : 문은 작성된 것으로 기록됩니다.

    • ROW 형식 : 문 CREATE TABLE 문과 일련의 행 삽입 이벤트로 기록됩니다.

  • 문이 실패하면 로그는 기록되지 않습니다. 여기에는 대상 테이블이 존재하고 IF NOT EXISTS 가 지정되어 있지 않는 경우가 있습니다.

대상 테이블이 존재하고 IF NOT EXISTS 가 지정되어있는 경우에는 MySQL 버전에 의존하는 방법으로 문을 처리합니다.

5.1.51 이전의 MySQL 5.1 및 5.5.6 이전의 MySQL 5.5 (이것이 원래의 동작입니다) :

  • STATEMENT 또는 MIXED 형식 : 문은 작성된 것으로 기록됩니다.

  • ROW 형식 : 문 CREATE TABLE 문과 일련의 행 삽입 이벤트로 기록됩니다.

5.1.51 이후의 MySQL 5.1에서 :

  • STATEMENT 또는 MIXED 형식 : 문 CREATE TABLE 및 INSERT INTO ... SELECT 문 동등 쌍으로 기록됩니다.

  • ROW 형식 : 문 CREATE TABLE 문과 일련의 행 삽입 이벤트로 기록됩니다.

5.5.6 이후의 MySQL 5.5에서 :

  • 아무것도 삽입되지 않고 로그가 기록되지 않습니다.

이 버전 의존이 발생하는 것은 MySQL 5.5.6에서 원하는 테이블이 이미 존재하는 경우에 행을 삽입하지 않도록 CREATE TABLE ... SELECT 처리가 변경된 것으로, MySQL 5.1.51 그리고,이 같은 문을 5.1 마스터에서 5.5 슬레이브에 복제 할 때의 호환성을 유지하도록 변경된하기 때문입니다. 자세한 내용은 섹션 13.1.17.1 "CREATE TABLE ... SELECT 구문" 을 참조하십시오.

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