• 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. 글로벌 트랜잭션 식별자를 사용하여 복제
    1. GTID 개념
    2. GTID를 사용한 복제 설정
    3. Failover 및 확장에 GTID 사용
    4. GTID 기반 Replication 제약
    4. Replication 및 바이너리 Logging 옵션 과 변수
    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.3.2 GTID를 사용한 복제 설정

이 섹션에서는 MySQL 5.6에서 GTID 기반 복제를 구성 및 시작하는 과정에 대해 설명합니다. 이것은 복제 마스터를 처음 시작하거나 중지 할 것을 전제로하는 '콜드 스타트'단계입니다. 실행중인 마스터에서 GTID를 사용한 복제 슬레이브의 제공 내용은 섹션 17.1.3.3 "페일 오버 및 확장에 GTID 사용" 을 참조하십시오.

최대한 간단한 GTID 복제 토폴로지 (1 개의 마스터와 1 개의 슬레이브로 구성)를 시작하는이 과정의 주요 단계는 다음과 같습니다.

  1. 복제가 이미 실행중인 경우 두 서버를 읽기 전용으로하여 그들을 동기화합니다.

  2. 두 서버를 중지합니다.

  3. GTID 바이너리 로깅 및 슬레이브 업데이트 로깅을 활성화하고 GTID 기반 복제에 안전하지 않은 문을 해제 한 상태에서 두 서버를 다시 시작합니다. 또한 서버는 읽기 전용 모드로 부팅 슬레이브 SQL 및 I / O 스레드가 슬레이브로 시작되지 않도록하십시오.

    설명 서버를 시작하는 데 필요한 mysqld 옵션 내용은이 섹션 뒷부분의 예에서 설명합니다.

  4. 마스터 복제 데이터 소스로 사용하여 자동 포지셔닝을 사용하도록 슬레이브에 지시하고 슬레이브를 시작합니다.

    이 단계의 수행에 필요한 SQL 문이 섹션 뒷부분의 예에서 설명합니다.

  5. 업데이트를 다시받을 수 있도록 두 서버의 읽기 전용 모드를 해제합니다.

다음 예제에서는 두 개의 서버가 MySQL의 "클래식"파일 기반 복제 프로토콜을 사용하여 마스터 및 슬레이브로 이미 작동하고 있습니다.

이후 대부분의 절차는 SUPER 권한을 가진 MySQL root 계정이나 다른 MySQL 사용자 계정을 사용해야합니다. mysqladmin shutdown 는 SUPER 권한 또는 SHUTDOWN 권한이 있어야합니다.

1 단계 : 서버를 동기화합니다 서버를 읽기 전용으로 설정합니다. 이렇게하려면 다음 문을 두 서버에서 실행하여 read_only 시스템 변수를 사용합니다.

 mysql> SET @@global.read_only = ON;

그러면 슬레이브는 마스터에 유지할 수 있습니다. 계속하기 전에 슬레이브가 모든 업데이트를 처리 한 것을 확인하는 것이 매우 중요합니다.

2 단계 : 두 서버를 중지합니다. 여기에서 같이 mysqladmin을 사용하여 각 서버를 중지합니다. 여기서 username 은 서버를 종료하는 데 충분한 권한이있는 MySQL 사용자 이름입니다.

 shell> mysqladmin -u username -p shutdown

다음 프롬프트에이 사용자의 암호를 지정합니다.

3 단계 : GTID을 활성화 한 상태에서 두 서버를 다시 시작합니다 글로벌 트랜잭션 식별자 바이너리 로깅을 활성화하려면 GTID 모드 바이너리 로깅 및 슬레이브 업데이트 로깅을 활성화하고 GTID 기반 복제에 안전 아니다 문을 해제 한 상태에서 각 서버를 시작해야합니다. 또한 읽기 전용 모드로 두 서버를 시작함으로써 불필요하거나 예기치 않은 업데이트가 어느 서버에서 실행되지 않도록하십시오. 이것은 두 서버는 (적어도) 다음 mysqld_safe 호출에 표시된 옵션에서 시작해야한다는 것을 의미합니다.

 shell> mysqld_safe --gtid_mode=ON --log-bin --log-slave-updates --enforce-gtid-consistency &  
참고

MySQL 5.6.9 이전에서는 --enforce-gtid-consistency 의 이름은 --disable-gtid-unsafe-statements 이었습니다.

또한 여기에 예제에 지정된 다른 서버 옵션과 --skip-slave-start 옵션으로 슬레이브를 시작하십시오.

참고

--gtid-mode 는 boolean이 아닌 열거입니다. 이 옵션을 설정하면 값 ON 또는 OFF 중 하나만을 사용합니다. 0과 1 등의 수치를 사용하면 예기치 않은 결과가 발생할 수 있습니다.

--gtid-mode 및 --enforce-gtid-consistency 서버 옵션에 대한 자세한 내용은 섹션 17.1.4.5 "글로벌 트랜잭션 ID 옵션과 변수" 를 참조하십시오.

구성에 따라 mysqld_safe 또는 다른 mysqld 시작 스크립트에 추가 옵션을 지정합니다.

4 단계 : 마스터를 사용하도록 슬레이브에 지시합니다 마스터 복제 데이터 소스로 사용하여 파일 기반 포지셔닝이 아니라 GTID 기반 자동 포지셔닝을 사용하도록 슬레이브에 지시합니다. 트랜잭션이 GTID로 식별되는 것을 슬레이브에 전달 MASTER_AUTO_POSITION 옵션을 사용하여 슬레이브로 CHANGE MASTER TO 문을 실행합니다.

마스터의 호스트 이름과 포트 번호 및 마스터에 연결 슬레이브가 사용할 수있는 복제 사용자 계정의 사용자 이름과 암호를 적절한 값을 지정해야하는 경우도 있습니다. 이들이 1 단계 이전에 이미 설정되어 있고, 변경할 필요가없는 경우 해당 옵션을 여기에 표시된 문에서 안전하게 생략 할 수 있습니다.

 mysql> CHANGE MASTER TO 
      > MASTER_HOST = host ,
      > MASTER_PORT = port ,
      > MASTER_USER = user ,
      > MASTER_PASSWORD = password ,
      > MASTER_AUTO_POSITION = 1;

MASTER_LOG_FILE 옵션과 MASTER_LOG_POS 옵션은 MASTER_AUTO_POSITION 가 1로 설정되어있는 경우 사용할 수없는 경우가 있습니다. 그렇게하려고하면 CHANGE MASTER TO 문은 오류로 실패합니다. (GTID 기반 복제에서 파일 및 위치 기반 복제로 돌아갈 필요가있는 경우, CHANGE MASTER TO 문 MASTER_AUTO_POSITION = 0 과 함께 이러한 옵션 중 하나 또는 모두를 사용할 필요가 있습니다.)

CHANGE MASTER TO 문이 성공했음을 전제로 이같이 슬레이브를 시작할 수 있습니다.

 mysql> START SLAVE;

5 단계 : 읽기 전용 모드를 비활성화합니다 다음 문을 실행하여 마스터 업데이트의 접수를 다시 시작할 수 있습니다.

 mysql> SET @@global.read_only = OFF;

이제 GTID 기반 복제 작동 중입니다 마스터에서 예전처럼 활동을 시작 (또는 재개) 할 수 있습니다. 섹션 17.1.3.3 "페일 오버 및 확장에 GTID 사용" 에서는 GTID 사용시의 새로운 노예를 만드는 방법을 설명합니다.

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