• 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 구현
    1. Replication 구현에 대한 자세한 내용
    2. Replication Relay 및 상태 로그
    1. Slave Relay Log
    2. Slave Status Logs
    3. 서버가 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.2.2 Replication Relay 및 상태 로그

17.2.2.1 슬레이브 릴레이 로그
17.2.2.2 슬레이브 상태 로그

복제 중에 슬레이브 서버는 마스터에서 슬레이브로 릴레이되는 바이너리 로그 이벤트를 개최하고 현재의 상태와 릴레이 로그의 위치 정보를 기록하는 일부 로그를 만듭니다. 처리에 사용되는 로그는 여기서 같이 3 가지 유형이 있습니다.

  • 릴레이 로그는 슬레이브 I / O thread에 의해 마스터의 바이너리 로그에서 읽고 기록하는 이벤트로 구성됩니다. 릴레이 로그의 이벤트는 SQL 스레드의 일부로 슬레이브에서 실행됩니다.

  • 마스터 정보 로그에는 슬레이브 마스터 연결에 대한 상태 및 현재 구성 정보가 포함되어 있습니다. 이 로그 마스터 호스트 이름, 로그인 자격 증명 및 슬레이브가 마스터의 바이너리 로그에서 얼마나 떨어져 읽은 여부를 나타내는 좌표 정보를 보유하고 있습니다.

    MySQL 5.6 이전 버전에서는이 로그는 항상 파일 ( master.info ) 이었지만, MySQL 5.6 이상에서 노예 --master-info-repository=TABLE 에서 시작하여이 로그 파일에 아니라 mysql.slave_master_info 테이블에 쓸 수 있습니다.

  • 릴레이 로그 정보는 슬레이브의 릴레이 로그의 실행 포인트에 대한 상태 정보를 유지합니다.

    MySQL 5.6 이전 버전에서는이 로그는 항상 파일 ( relay-log.info ) 이었지만, MySQL 5.6 이상에서 노예 --relay-log-info-repository=TABLE 에서 시작하여이 로그 파일 가 아니라 mysql.slave_relay_log_info 테이블에 쓸 수 있습니다.

MySQL 5.6.7 이전에서는 slave_master_info 및 slave_relay_log_info 테이블 Master_id 컬럼은 마스터 서버 ID가 아닌 슬레이브 서버 ID를 표시했습니다. (Bug # 12334346)

충돌 안전 복제 상태 및 릴레이 정보의 로그를 위해 테이블을 사용할 때 복제 충돌 안전이기 때문에 이러한 테이블은 InnoDB 등의 트랜잭션 스토리지 엔진을 사용해야합니다. MySQL 5.6.6 이후에서는 이러한 테이블은 InnoDB 를 사용하여 작성됩니다. (Bug # 13538891)

따라서 슬레이브의 충돌 안전성을 보장하려면 --relay-log-recovery 가 유효한 상태에서 슬레이브를 실행하고, --relay-log-info-repository 를 TABLE 로 설정해야합니다 .

MySQL 5.6.6 이전에는, mysqld가 복제 로깅 테이블을 초기화 할 수 없었던 경우, 슬레이브는 시작을 거부했습니다. MySQL 5.6.6 이후에서는 이것이 발생하면 경고가 표시되지만 슬레이브는 시작을 계속할 수 있도록합니다. (Bug # 13971348)이 상황이 발생할 가능성이 높은 것은 노예 로깅 테이블을 지원하지 않는 버전의 MySQL에서 지원되는 버전으로 업그레이드 할 때입니다.

MySQL 5.6.5 이전 버전에서는 slave_master_info 및 slave_relay_log_info 테이블이 기본적으로 MyISAM 을 사용하고 있고, 이것은 복제를 시작하기 전에 여기와 같이 ALTER TABLE ... ENGINE=InnoDB 를 발행하는 것으로, 이러한 테이블이 사용하는 스토리지 엔진을 변경해야했습니다.

 ALTER TABLE mysql.slave_master_info ENGINE = InnoDB;
 ALTER TABLE mysql.slave_relay_log_info ENGINE = InnoDB;

ALTER TABLE 문은 mysql 데이터베이스에 적절한 권한을 가진 MySQL root 또는 다른 사용자 계정으로 실행되어야합니다. 복제 중에이를 실행하려고해서는 안됩니다. MySQL 5.6.3 이후에서는 복제가 진행되는 동안 이들 중 하나의 테이블에서 ALTER TABLE 을 실행하려고하는 것은 허용되지 않습니다. MySQL 5.6.4 이후에서는 이러한 테이블 중 하나 또는 둘 다 쓰기 잠금을 필요로하는 문을 실행하는 것은 복제의 진행은 허용되지 않지만 읽기만하는 문은 언제든지 허용 합니다.

중요

slave_master_info 또는 slave_relay_log_info 테이블에서 직접 행을 갱신 또는 삽입하려고하지 마십시오. 그렇게하는 것은 정의되지 않은 동작이 될 가능성이 있고 지원되지 않습니다.

MySQL 5.6.4 이전에서는 mysqldump는 복제 로그 테이블을 덤프하지 못했습니다 (그들이 이름으로 지정된 --master-data 옵션이 사용 된 경우 제외).

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