• 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. 리플리케이션
  • 18. MySQL Cluster
  • 1. MySQL Cluster 개요
    2. MySQL Cluster 설치
    3. MySQL Cluster 설정
    4. MySQL Cluster 프로그램
    5. MySQL Cluster 관리
    6. MySQL Cluster Replication
    1. MySQL Cluster Replication : 약어 및 기호
    2. MySQL Cluster Replication의 일반 요구 사항
    3. MySQL Cluster Replication의 알려진 문제
    4. MySQL Cluster Replication 스키마와 테이블
    5. 복제를위한 MySQL Cluster 준비
    6. Starting MySQL Cluster Replication (Single Replication Channel)
    7. 2 개의 복제 채널을 사용하는 MySQL Cluster 복제
    8. MySQL Cluster 복제를 사용한 장애 조치 구현
    9. MySQL Cluster 복제를 사용한 MySQL Cluster 백업
    1. MySQL Cluster 복제 : 복제 슬레이브와 마스터의 바이너리 로그의 자동 동기화
    2. MySQL Cluster Replication를 사용한 시점 복구
    10. MySQL Cluster Replication:멀티 마스터와 순환 복제
    11. MySQL Cluster Replication 충돌 해결
    7. MySQL Cluster Release Notes
  • 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 새로운 기능

18.6.9 MySQL Cluster 복제를 사용한 MySQL Cluster 백업

18.6.9.1 MySQL Cluster 복제 : 복제 슬레이브와 마스터의 바이너리 로그의 자동 동기화
18.6.9.2 MySQL Cluster 복제를 사용한 시점 복구

이 섹션에서는 백업을 만들고 백업에서 MySQL Cluster 복제를 사용하여 복원에 대해 설명합니다. 복제 서버는 앞에서 설명한대로 이미 구성된 것으로합니다 ( 섹션 18.6.5 "복제를위한 MySQL Cluster의 준비」 및 그 직후의 섹션을 참조하십시오). 이것이 이미 이루어지고있는 경우 백업하고 백업에서 복원하는 방법은 다음과 같습니다.

  1. 백업을 시작하려면 2 가지 방법이 있습니다.

    • 방법 A이 방법은 복제 프로세스를 시작하기 전에 클러스터 백업 프로세스가 마스터 서버에서 활성화되어 있어야합니다. 이렇게에는 my.cnf file 의 [mysql_cluster] 섹션에 다음 줄을 추가합니다. 여기에서 management_host 마스터 클러스터에 대한 NDB 관리 서버의 IP 주소 또는 호스트 이름이며 port 는 관리 서버의 포트 번호입니다.

      ndb-connectstring=management_host[:port]
      
      참고

      포트 번호는 기본 포트 (1186)가 사용되지 않은 경우에만 지정해야합니다. MySQL Cluster의 포트 및 포트 할당에 대한 자세한 내용은 섹션 18.2.4 "MySQL Cluster의 초기 구성" 을 참조하십시오.

      이 경우 백업이 문을 복제 마스터에서 실행하면 시작할 수 있습니다.

      shellM> ndb_mgm -e "START BACKUP"
      
    • 방법 B my.cnf 파일에서 관리 호스트를 검색 할 위치가 지정되어 있지 않은 경우, START BACKUP 명령의 일부로이 정보를 NDB 관리 클라이언트에 전달하여 백업 프로세스를 시작할 수 있습니다. 여기에서 같이 작업을 수행 할 수 있습니다. 여기에서 management_host 와 port 는 관리 서버의 호스트 이름과 포트 번호입니다.

      shellM> ndb_mgm management_host:port -e "START BACKUP"
      

      전에 언급 한 시나리오 ( 섹션 18.6.5 "복제를위한 MySQL Cluster 준비" 를 참조하십시오) 이것은 다음과 같이 실행됩니다.

      shellM> ndb_mgm rep-master:1186 -e "START BACKUP"
      
  2. 온라인되어있는 슬레이브 클러스터 백업 파일을 복사합니다. 마스터 클러스터 ndbd 프로세스를 실행하는 각 시스템에는 시스템에서 클러스터 백업 파일이 배치되고, 이러한 모든 파일을 슬레이브에 복사되어 성공적인 복원을 보장해야합니다. 백업 파일은 슬레이브 관리 호스트가있는 컴퓨터의 어떤 디렉토리에 복사 할 수 있습니다 만, MySQL 및 NDB 바이너리가 해당 디렉토리에 대한 읽기 권한을 가지고있는 경우에 한합니다. 이 경우에는이 파일이 디렉토리 /var/BACKUPS/BACKUP-1 에 복사 된 것으로합니다.

    슬레이브 클러스터는 마스터와 같은 ndbd 프로세스 (데이터 노드) 번호를 가질 필요는 없지만이 번호를 같은 번호로하는 것이 좋습니다. 복제 프로세스의 잘못된 시작을 방지하려면 슬레이브를 --skip-slave-start 옵션에서 시작해야합니다.

  3. 마스터 클러스터에 존재하는 슬레이브에 복제 데이터베이스를 슬레이브 클러스터에 만듭니다.

    중요

    복제하는 각 데이터베이스에 대한 CREATE DATABASE (또는 CREATE SCHEMA ) 문은 슬레이브 클러스터의 각 SQL 노드에서 실행합니다.

  4. MySQL Monitor에서이 문을 사용하여 슬레이브 클러스터를 재설정합니다.

    mysqlS> RESET SLAVE;
    

    복원 프로세스를 실행하기 전에 슬레이브 ndb_apply_status 테이블에 레코드가 포함되어 있지 않은지 확인하는 것이 중요합니다. 이렇게 슬레이브에서이 SQL 문을 실행합니다.

     MySQL S > DELETE FROM mysql.ndb_apply_status;
    
  5. 이제 각 백업 파일에 순서대로 ndb_restore 명령을 사용하여 복제 슬레이브에서 클러스터 복구 프로세스를 시작할 수 있습니다. 이 과정의 첫 클러스터의 메타 데이터를 복원하기위한 -m 옵션을 추가해야합니다.

    shellS> ndb_restore -c slave_host:port -n node-id \
            -b backup-id -m -r dir

    dir 은 백업 파일이 복제 슬레이브에 놓인 디렉토리 경로입니다. 나머지 백업 파일에 해당하는 ndb_restore 명령에 -m 옵션을 사용하지 마십시오.

    백업 파일이 디렉토리 /var/BACKUPS/BACKUP-1 에 복사 된 장소이다 4 개의 데이터 노드 ( 섹션 18.6 "MySQL Cluster 복제" 의 그림에 표시된 바와 같습니다)를 사용하여 마스터 클러스터에서 복원 경우, 슬레이브에서 실행되는 명령의 올바른 순서는 다음과 같습니다.

    shellS> ndb_restore -c rep-slave:1186 -n 2 -b 1 -m \
            -r ./var/BACKUPS/BACKUP-1
    shellS> ndb_restore -c rep-slave:1186 -n 3 -b 1 \
            -r ./var/BACKUPS/BACKUP-1
    shellS> ndb_restore -c rep-slave:1186 -n 4 -b 1 \
            -r ./var/BACKUPS/BACKUP-1
    shellS> ndb_restore -c rep-slave:1186 -n 5 -b 1 -e \
            -r ./var/BACKUPS/BACKUP-1
    중요

    시대가 슬레이브 mysql.ndb_apply_status 에 기록 된이 예의 ndb_restore의 마지막 시작에 -e (또는 --restore_epoch ) 옵션이 필요합니다. 이 정보가 없으면 슬레이브는 마스터와 적절히 동기를 취할 수 없게됩니다. ( 섹션 18.4.20 "ndb_restore - MySQL Cluster 백업 복원" 을 참조하십시오.)

  6. 여기에서 노예 ndb_apply_status 테이블에서 최신 신기원을 취득해야합니다 ( 섹션 18.6.8 "MySQL Cluster 복제를 사용한 장애 조치 구현" 에서 설명한 같습니다).

    mysqlS> SELECT @latest:=MAX(epoch)
            FROM mysql.ndb_apply_status;
  7. 이전 단계에서 얻은 에포크 값으로 @latest 을 사용하면 여기에 나와있는 쿼리를 사용하여 마스터 mysql.ndb_binlog_index 테이블에서 올바른 바이너리 로그 파일 @file 의 올바른 시작 위치 @pos 을 얻을 수 있습니다.

    mysqlM> SELECT
         ->     @file:=SUBSTRING_INDEX(File, '/', -1),
         ->     @pos:=Position
         -> FROM mysql.ndb_binlog_index
         -> WHERE epoch > @latest
         -> ORDER BY epoch ASC LIMIT 1;
    

    현재 복제 트래픽이없는 경우 마스터에서 SHOW MASTER STATUS 를 실행하여 File 컬럼에 표시되는 모든 파일에 대해 가장 큰 값의 접미사를 가진 이름의 파일 Position 컬럼의 값을 사용하면이 정보 를 얻을 수 있습니다. 그러나이 경우이를 지정하고 그 내용을 다음 단계에서 수동으로 지정하거나 스크립트에서 출력을 분석하여 지정해야합니다.

  8. 이전 단계에서 얻은 값을 사용하면 슬레이브의 mysql 클라이언트에서 적당한 CHANGE MASTER TO 문을 발행 할 수 있습니다.

    mysqlS> CHANGE MASTER TO
         ->     MASTER_LOG_FILE='@file',
         ->     MASTER_LOG_POS=@pos;
    
  9. 슬레이브는 어떤 바이너리 로그 파일의 어떤 점에서 읽기를 시작하거나 마스터에서 "알"하게되므로, 슬레이브는이 표준 MySQL 문에서 복제를 시작할 수 있습니다.

    mysqlS> START SLAVE;
    

보조 복제 채널에서 백업 및 복원을 수행하기 위해 필요한 것은 필요한 기본 마스터와 슬레이브 복제 서버의 호스트 이름과 ID를 대신하여 보조 마스터와 슬레이브의 호스트 이름과 ID를 사용하고 위 명령문을 실행하는 단계를 반복 할뿐입니다.

클러스터의 백업과 백업에서 클러스터의 복원에 관한 자세한 내용은 섹션 18.5.3 "MySQL Cluster의 온라인 백업" 을 참조하십시오.

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