• 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 구성
    1. Replication 설정 방법
    2. Replication Formats
    3. 글로벌 트랜잭션 식별자를 사용하여 복제
    4. Replication 및 바이너리 Logging 옵션 과 변수
    1. Replication 및 바이러리 Logging 옵션 과 변수 설명
    2. Replication 마스터 옵션 및 변수
    3. Replication 슬레이브 옵션 및 변수
    4. 바이너리 로그 옵션 및 변수
    5. 글로벌 트랜잭션 ID 옵션 및 변수
    5. 일반적인 Replication 관리 작업
    2. Replication 구현
    3. 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.1.4.2 Replication 마스터 옵션 및 변수

이 섹션에서는 복제 마스터 서버에서 사용할 수있는 서버 옵션 및 시스템 변수에 대해 설명합니다. 옵션은 명령 행 또는 옵션 파일 에서 지정할 수 있습니다. 시스템 변수 값은 SET 을 사용하여 지정할 수 있습니다.

마스터와 각 슬레이브는 server-id 옵션을 사용하여 고유 복제 ID를 설정해야합니다. 서버마다 고유 한 양의 정수를 1에서 2 32 - 1의 범위에서 선택하십시오. 각 ID는 다른 복제 마스터 또는 슬레이브가 사용하는 다른 모든 ID와 달라야합니다. 예 : server-id=3 .

바이너리 로깅을 제어하기 위해 마스터에서 사용되는 옵션은 섹션 17.1.4.4 "바이너리 로그 옵션과 변수" 를 참조하십시오.

복제 마스터로 사용되는 시스템 변수

다음 시스템 변수는 복제 마스터를 제어하는​​ 데 사용됩니다.

  • auto_increment_increment

    System VariableNameauto_increment_increment
    Variable ScopeGlobal, Session
    Dynamic VariableYes
    Permitted ValuesTypeinteger
    Default1
    Min Value1
    Max Value65535
    auto_increment_increment 및 auto_increment_offset 마스터에서 마스터에 복제에 사용하기위한 것으로, AUTO_INCREMENT 컬럼의 동작을 제어하는 데 사용할 수 있습니다. 두 변수는 글로벌 값과 세션 값을 가지며 각 값은 1에서 65,535 (1 65,535 포함) 사이의 정수 값을 취할 수 있습니다. 이러한 두 변수 중 하나의 값을 0으로 설정하면 대신 그 값은 1로 설정됩니다. 이러한 두 변수 중 하나의 값을 65,535보다 큰 정수 또는 0보다 작은 정수로 설정하려고하면 대신 그 값은 65,535로 설정됩니다. auto_increment_increment 또는 auto_increment_offset 값을 정수가 아닌 값으로 설정하려고하면 오류가 발생하고 변수의 실제 값은 변화하지 않습니다.
    참고

    auto_increment_increment 는 NDB 테이블에서 사용하는 경우에도 지원됩니다.

    이 두 변수는 다음과 같이 AUTO_INCREMENT 컬럼의 동작에 영향을줍니다.

    • auto_increment_increment 는 연속 된 컬럼 값의 간격을 제어합니다. 예 :

      mysql> SHOW VARIABLES LIKE 'auto_inc%';
      +--------------------------+-------+
      | Variable_name            | Value |
      +--------------------------+-------+
      | auto_increment_increment | 1     |
      | auto_increment_offset    | 1     |
      +--------------------------+-------+
      2 rows in set (0.00 sec)
      
      mysql> CREATE TABLE autoinc1
          -> (col INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
        Query OK, 0 rows affected (0.04 sec)
      
      mysql> SET @@auto_increment_increment=10;
      Query OK, 0 rows affected (0.00 sec)
      
      mysql> SHOW VARIABLES LIKE 'auto_inc%';
      +--------------------------+-------+
      | Variable_name            | Value |
      +--------------------------+-------+
      | auto_increment_increment | 10    |
      | auto_increment_offset    | 1     |
      +--------------------------+-------+
      2 rows in set (0.01 sec)
      
      mysql> INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL);
      Query OK, 4 rows affected (0.00 sec)
      Records: 4  Duplicates: 0  Warnings: 0
      
      mysql> SELECT col FROM autoinc1;
      +-----+
      | col |
      +-----+
      |   1 |
      |  11 |
      |  21 |
      |  31 |
      +-----+
      4 rows in set (0.00 sec)
      
    • auto_increment_offset 는 AUTO_INCREMENT 컬럼 값의 시작점을 지정합니다. 다음의 것은 auto_increment_increment 의 기술로 예와 같이 동일한 세션 동안 이러한 명령문이 실행된다고 가정합니다.

      mysql> SET @@auto_increment_offset=5;
      Query OK, 0 rows affected (0.00 sec)
      
      mysql> SHOW VARIABLES LIKE 'auto_inc%';
      +--------------------------+-------+
      | Variable_name            | Value |
      +--------------------------+-------+
      | auto_increment_increment | 10    |
      | auto_increment_offset    | 5     |
      +--------------------------+-------+
      2 rows in set (0.00 sec)
      
      mysql> CREATE TABLE autoinc2
          -> (col INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
      Query OK, 0 rows affected (0.06 sec)
      
      mysql> INSERT INTO autoinc2 VALUES (NULL), (NULL), (NULL), (NULL);
      Query OK, 4 rows affected (0.00 sec)
      Records: 4  Duplicates: 0  Warnings: 0
      
      mysql> SELECT col FROM autoinc2;
      +-----+
      | col |
      +-----+
      |   5 |
      |  15 |
      |  25 |
      |  35 |
      +-----+
      4 rows in set (0.02 sec)
      
      auto_increment_offset 값이 auto_increment_increment 값보다 크면 auto_increment_offset 값은 무시됩니다.

      이러한 변수 중 하나가 변경된 후 AUTO_INCREMENT 컬럼을 포함하는 테이블에 새로운 행이 삽입되는 경우, 결과는 반 직관적으로 보일 수 있습니다. AUTO_INCREMENT 값 시리즈는 컬럼에 이미 존재하는 값에 관계없이 계산되어 삽입되는 다음 값이 AUTO_INCREMENT 컬럼에있는 최대 값보다 큰 시리즈에 최소이기 때문입니다. 시리즈는 다음과 같이 계산됩니다.

      auto_increment_offset + N × auto_increment_increment

      여기서 N 은 시리즈에서 양의 정수 [1, 2, 3, ...]입니다. 예 :

    mysql> SHOW VARIABLES LIKE 'auto_inc%';
    +--------------------------+-------+
    | Variable_name            | Value |
    +--------------------------+-------+
    | auto_increment_increment | 10    |
    | auto_increment_offset    | 5     |
    +--------------------------+-------+
    2 rows in set (0.00 sec)
    
    mysql> SELECT col FROM autoinc1;
    +-----+
    | col |
    +-----+
    |   1 |
    |  11 |
    |  21 |
    |  31 |
    +-----+
    4 rows in set (0.00 sec)
    
    mysql> INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL);
    Query OK, 4 rows affected (0.00 sec)
    Records: 4  Duplicates: 0  Warnings: 0
    
    mysql> SELECT col FROM autoinc1;
    +-----+
    | col |
    +-----+
    |   1 |
    |  11 |
    |  21 |
    |  31 |
    |  35 |
    |  45 |
    |  55 |
    |  65 |
    +-----+
    8 rows in set (0.00 sec)
    
    auto_increment_increment 과 auto_increment_offset 에 표시된 값은 시리즈 5 + N × 10, 즉 [5, 15, 25, 35, 45, ...을 생성합니다. INSERT 이전에 col 컬럼에있는 최대 값은 31, AUTO_INCREMENT 시리즈에서 사용 가능한 다음 값은 35이므로, col 에 삽입되는 값은 그 지점에서 시작, 결과는 SELECT 쿼리로 나타나는 것입니다 .

    이러한 두 변수의 영향을 단일 테이블로 제한 할 수 없습니다. 이 변수는 MySQL 서버의 모든 테이블의 모든 AUTO_INCREMENT 컬럼의 동작을 제어합니다. 어느 변수의 전역 값이 설정되면 글로벌 값이 변경되거나 세션 값의 설정에 의해 재정의 될 때까지 또는 mysqld가 다시 시작될 때까지 그 효과가 지속됩니다. 로컬 값이 설정되면 새 값은 세션 기간에 현재 사용자가 새 행을 삽입 한 모든 테이블의 AUTO_INCREMENT 컬럼에 영향을줍니다 (그 세션 동안 그 값이 변경되는 경우를 제외 ).

    auto_increment_increment 의 기본값은 1입니다. 섹션 17.4.1.1 "복제 및 AUTO_INCREMENT" 를 참조하십시오.

  • auto_increment_offset

    System VariableNameauto_increment_offset
    Variable ScopeGlobal, Session
    Dynamic VariableYes
    Permitted ValuesTypeinteger
    Default1
    Min Value1
    Max Value65535
    이 변수의 기본값은 1입니다. 자세한 내용은 auto_increment_increment 의 설명을 참조하십시오.
    참고

    auto_increment_offset 는 NDB 테이블에서 사용하는 경우에도 지원됩니다.


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