• 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.1 Replication and AUTO_INCREMENT

AUTO_INCREMENT , LAST_INSERT_ID() 및 TIMESTAMP 값의 문 수준 복제는 제대로 진행되지만 다음과 같은 예외가 있습니다.

  • MySQL 5.6.10 이전 문 기반 복제를 사용하는 경우, 슬레이브의 테이블의 AUTO_INCREMENT 컬럼은 마스터에서 동일한 컬럼과 일치해야합니다. 즉, AUTO_INCREMENT 컬럼은 AUTO_INCREMENT 컬럼에 복제 될 필요가 있습니다. (Bug # 12669186)

  • AUTO_INCREMENT 컬럼을 업데이트하는 트리거 또는 함수를 호출 문은 문 기반 복제가 제대로 복제되지 않습니다. MySQL 5.6에서는 이러한 문은 안전하지 않은 것으로 표시됩니다. (Bug # 45677)

  • 복합 기본 키가이 복합 키의 선두 컬럼이 아닌 AUTO_INCREMENT 컬럼을 포함하는 테이블에 INSERT 를 수행 할 명령문 기반 로깅 또는 복제에 안전하지 않습니다. MySQL 5.6.6 이후에서는 이러한 문은 안전하지 않은 것으로 표시됩니다. (Bug # 11754117, Bug # 45670)

    이 문제는 InnoDB 스토리지 엔진을 사용하는 테이블에 영향을주지 않습니다. AUTO_INCREMENT 컬럼을 가진 InnoDB 테이블에는 자동 증가 컬럼이 유일한 또는 가장 왼쪽의 컬럼 인 키가 하나 이상 있어야하기 때문입니다.

  • ALTER TABLE 테이블에 AUTO_INCREMENT 컬럼을 추가하면 행의 순서가 슬레이브와 마스터에서 동일하지 않을 수 있습니다. 이것이 발생하는 것은 행이 번호 매기기 순서가 테이블에 사용되는 고유의 스토리지 엔진 및 행이 삽입 된 순서에 의존하기 때문입니다. 마스터와 슬레이브로 같은 순서를 가지는 것이 중요하다 경우 행을 정렬 한 AUTO_INCREMENT 번호를 할당해야합니다. 열 col1 과 col2 를 가진 테이블 t1 에 AUTO_INCREMENT 컬럼을 추가한다고 가정하면 다음 명령문은 t1 과 동일 하 AUTO_INCREMENT 컬럼을 가진 새 테이블 t2 을 생성합니다.

     CREATE TABLE t2 LIKE t1;
     ALTER TABLE t2 ADD id INT AUTO_INCREMENT PRIMARY KEY;
     INSERT INTO t2 SELECT * FROM t1 ORDER BY col1, col2;
    
    중요

    마스터와 슬레이브 모두에 동일한 순서를 보장하려면 ORDER BY 절에서 t1 의 모든 컬럼의 이름을 지정해야합니다.

    위의 지침은 CREATE TABLE ... LIKE 제한이 적용됩니다. 외부 키 정의는 DATA DIRECTORY 및 INDEX DIRECTORY 테이블 옵션과 마찬가지로 무시됩니다. 테이블 정의가 이러한 특성을 포함한 경우, t1 의 작성에 사용 된 것과 동일한이더라도 AUTO_INCREMENT 컬럼을 추가 한 CREATE TABLE 문을 사용하여 t2 를 작성하십시오.

    AUTO_INCREMENT 컬럼을 가진 복사본을 만들고 채우는 데 사용하는 방법에 관계없이 마지막 단계는 원래 테이블을 삭제하고 복사본의 이름을 변경하는 것입니다.

     DROP t1;
     ALTER TABLE t2 RENAME t1;
    

    섹션 B.5.7.1 "ALTER TABLE의 문제" 를 참조하십시오.


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