• 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(반동기 복제)
    1. 반동기 복제 관리 인터페이스
    2. 반동기 복제의 설치 및 구성
    3. 반동기 복제 모니터링
    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.8.2 반동기 복제의 설치 및 구성

준 동기 복제는 플러그인을 사용하여 구현되므로 플러그인이 서버에 설치되어 사용할 수있는 상태 여야합니다. 플러그인이 설치된 후 그와 관련된 시스템 변수에 의해 제어합니다. 이러한 시스템 변수는 연결된 플러그인이 설치 될 때까지 사용할 수 없습니다.

준 동기 복제를 사용하려면 다음 요구 사항을 충족해야합니다.

  • MySQL 5.5 이상이 설치되어 있어야합니다.

  • 플러그인을 설치하는 기능은 동적 로딩을 지원하는 MySQL 서버가 필요합니다. 이를 검증하기 위해 have_dynamic_loading 시스템 변수의 값이 YES 인지 확인하십시오. 바이너리 배포판은 동적 로딩을 지원하는 것입니다.

  • 복제가 이미 작동하고 있어야합니다. 마스터 / 슬레이브 관계의 작성 내용은 섹션 17.1.1 "복제 설정 방법" 을 참조하십시오.

준 동기 복제를 설정하려면 다음 지침을 사용하십시오. 여기에 표시된 INSTALL PLUGIN , SET GLOBAL , STOP SLAVE 및 START SLAVE 명령문은 SUPER 권한이 필요합니다.

준 동기 복제 플러그인은 MySQL 배포판에 포함되어 있습니다.

구성 요소 배포를 압축합니다 (마스터 측과 슬레이브 측의 파일이 포함되어 있습니다).

구성 요소 파일을 해당 서버의 플러그인 디렉토리에 설치합니다. semisync_master* 파일을 마스터 서버 플러그인 디렉토리에 설치합니다. semisync_slave* 파일을 각 슬레이브 서버 플러그인 디렉토리에 설치합니다. 플러그인 디렉토리의 위치는 서버의 plugin_dir 시스템 변수의 값으로 사용할 수 있습니다.

플러그인을로드하려면 준 동기화하는 마스터와 각 슬레이브에서 INSTALL PLUGIN 명령문을 사용합니다.

마스터 :

mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

각 슬레이브 :

mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

위의 명령은 플러그인 파일 이름 접미사 .so 를 사용합니다. 시스템에 다른 접미사를 적용해도 괜찮습니다. 플러그인 파일 이름에 자신이없는 경우 서버 플러그인 디렉토리에 플러그인을 찾습니다.

플러그인을 설치하려고하면 Linux에서 여기에 표시된대로 오류가 발생하는 경우 libimf 을 설치해야합니다.

mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
ERROR 1126 (HY000): Can't open shared library
'/usr/local/mysql/lib/plugin/semisync_master.so' (errno: 22 libimf.so: cannot open
shared object file: No such file or directory)

libimf 는 http://dev.mysql.com/downloads/os-linux.html 에서 얻을 수 있습니다.

어떤 플러그인이 설치되어 있는지 확인하려면 SHOW PLUGINS 문을 사용하거나 INFORMATION_SCHEMA.PLUGINS 테이블을 조회하십시오.

준 동기 복제 플러그인이 설치된 후에는 기본적으로 비활성화되어 있습니다. 준 동기 복제를 사용하려면 플러그인이 마스터 측과 슬레이브 측 모두에서 활성화해야합니다. 한쪽 만 사용하는 경우에는 복제는 비동기입니다.

설치된 플러그인을 사용할지 여부를 제어하려면 해당 시스템 변수를 설정합니다. 이러한 변수는 실행시에 SET GLOBAL 을 사용하여 또는 명령 행 또는 옵션 파일에서 서버를 시작할 때 설정할 수 있습니다.

실행시에 이러한 마스터 측 시스템 변수를 사용할 수 있습니다.

mysql> SET GLOBAL rpl_semi_sync_master_enabled = {0|1};
mysql> SET GLOBAL rpl_semi_sync_master_timeout = N;

슬레이브 측에이 시스템 변수를 사용할 수 있습니다.

mysql> SET GLOBAL rpl_semi_sync_slave_enabled = {0|1};

rpl_semi_sync_master_enabled 또는 rpl_semi_sync_slave_enabled 의 경우, 준 동기 복제를 사용하려면 값을 1 비활성화하려면 0으로해야합니다. 기본적으로 이러한 변수는 0으로 설정되어 있습니다.

rpl_semi_sync_master_timeout 의 경우 값 N 은 밀리 세컨드로 지정됩니다. 기본값은 10000 (10 초)입니다.

실행시에 슬레이브에서 준 동기 복제를 사용하는 경우, 슬레이브 I / O 쓰레드를 시작하고 (이미 실행중인 경우 우선 중지하고) 슬레이브를 마스터에 연결하여 준 동기 슬레이브로 등록 해야합니다.

mysql> STOP SLAVE IO_THREAD; START SLAVE IO_THREAD;

I / O 스레드가 이미 실행되고 다시 시작하지 않으면, 슬레이브는 비동기 복제를 사용하고 있습니다.

서버 시작시 반 동기식 복제를 제어하는​​ 변수를 명령 줄 옵션 또는 옵션 파일에 설정할 수 있습니다. 옵션 파일에 나열된 설정은 서버가 시작할 때마다 사용됩니다. 예를 들어 마스터 측과 슬레이브의 my.cnf 파일에 다음과 같이 변수를 설정할 수 있습니다.

마스터 :

[mysqld]
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000 # 1 second

각 슬레이브 :

[mysqld]
rpl_semi_sync_slave_enabled=1


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