• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 서비스
    • MySQL유지보수
    • MySQL라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL HA 한글메뉴얼) [close]
  • 1. Chapter 리플리케이션
  • 1. 리플리케이션 구성
    2. 리플리케이션 솔루션
    1. 백업용으로 리플리케이션 사용하기
    2. 서로 다른 스토리지 엔진을 사용하는 마스터와 슬레이브 간의 리플리케이션 구성
    3. 리플리케이션을 이용한 시스템 분산 처리 (Scale-Out)
    4. 서로 다른 데이터베이스를 서로 다른 슬레이브에 복제하기
    5. 리플리케이션 성능 개선
    6. 마스터 서버 변경하기
    7. SSL을 사용해서 리플리케이션 설정하기
    3. 리플리케이션 노트 (Notes) 및 팁 (Tips)
    4. 리플리케이션 구현
  • 2. Chapter MySQL ndb Cluster

1.2.7. SSL을 사용해서 리플리케이션 설정하기

 

SSL 접속을 통한 리플리케이션 설정은 서버와 클라이언트를 SSL 접속으로 설정하는 것과 유사하다.

리플리케이션을 하는 동안에 SSL로 바이너리 로그를 암호화 전송하기 위해서는, 마스터 서버가 SSL 네트워크 연결을 사용하도록 설정해야 한다. 마스터 서버가 SSL 접속을 지원하지 않는다면, SSL 리플리케이션을 설정할 수 없다.

마스터에서 SSL을 활성화 시키기 위해서는, 사용 가능한 인증서를 생성 또는 보유한 후에, 아래의 구성 옵션을 마스터의 mysqld 섹션 안에 삽입하도록 한다:

 

ssl-ca=cacert.pem

ssl-cert=server-cert.pem

ssl-key=server-key.pem

 

옵션은 다음과 같다:

  • ssl-ca는 인증 기관 (CA)의 인증서를 가리킨다.
  • ssl-cert는 서버 공중 키 (public key)를 가리킨다.
  • ssl-key는 서버 사설 키 (private key)를 가리킨다.

슬레이브에서는 두 가지 옵션을 사용해서 SSL 정보를 설정할 수 있다. 슬레이브 구성 파일의 client 섹션에 슬레이브 인증서를 추가하거나, 또는 CHANGE MASTER 명령문을 사용해서 SSL 정보를 명확하게 지정한다.

첫 번째 방법을 사용하는 경우에는, 아래의 라인을 슬레이브 파일의 client 클라이언트 섹션에 추가 한다:

 

[client]

ssl-ca=cacert.pem

ssl-cert=server-cert.pem

ssl-key=server-key.pem

 

--skip-slave 옵션과 함께 슬레이브 서버를 다시 시작해서 슬레이브가 마스터에 접속하지 않도록 만든다. CHANGE MASTER를 실행해서 마스터 구성을 지정하도록 하고, master_ssl 옵션을 사용해서 SSL 접속을 활성화 시킨다:

 

mysql> CHANGE MASTER TO \

    MASTER_HOST='master_hostname', \

    MASTER_USER='replicate', \

    MASTER_PASSWORD='password', \

    MASTER_SSL=1;

 

CHANGE MASTER 명령어를 실행하는 동안에 SSL 인증 옵션을 지정하기 위해서는 SSL 옵션을 추가한다:

 

CHANGE MASTER TO \

      MASTER_HOST='master_hostname', \

      MASTER_USER='replicate', \

      MASTER_PASSWORD='password', \

      MASTER_SSL=1, \

      MASTER_SSL_CA = 'ca_file_name', \

      MASTER_SSL_CAPATH = 'ca_directory_name', \

      MASTER_SSL_CERT = 'cert_file_name', \

      MASTER_SSL_KEY = 'key_file_name';

 

일단 마스터 정보가 업데이트되면, 슬레이브 리플리케이션 프로세스를 시작하도록 한다:

 

mysql> START SLAVE;

 

SSL 접속이 완료되었음을 확인하고자 한다면 SHOW SLAVE STATUS를 실행해 본다.

리플리케이션이 실행되는 동안에 SSL 접속이 이루어지도록 만들고자 한다면, REPLICATION SLAVE 권한을 사용해서 사용자를 생성한 후에 REQUIRE_SSL 옵션을 그 사용자 용도로 사용하도록 한다:

 

mysql> GRANT REPLICATION SLAVE ON *.*

    -> TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass' REQUIRE SSL;

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