IT Japan

Replication 본문

MySQL

Replication

swhwang 2016. 5. 25. 11:40
반응형

1.1 기초 지식

     데이터 복제 (복제) 다른 서버에게 인기있는 기능
     MySQL 표준 기능으로 다수 Web 사이트 등으로 이용되고있다

     - 간단한 설정으로 이용 가능
     - 마스터 슬레이브 구성



1.2 마스터 슬레이브 구성

     서버 마스터, 슬레이브 또는 모두가 될 수 있다.
    

마스터 서버

     - 데이터 변경
     - 변경 내용 슬레이브로 전송
     - 마스터 여러 슬레이브 가질

슬레이브 서버

     - 마스터에서 변경 내용받을
     - 변경 내용 데이터베이스 반영
     - 슬레이브 1 개의 마스터 가질수 있다.



1.3 복제의 이점

     참조 성능 향상

     작업 불가 높은 경우, 슬레이브 서버를 추가하여 부하 분산에 의한 성능 향상을 실현할 수있다

     고 가용성 구성 실현

     마스터 장애 슬레이브 마스터로 승격하여 고 가용성 실현 가능

     지리적 이중화

     지리적으로 떨어져 재해 대책 사이트 구축 가능
     NW 통해 떨어진 위치에서 마스터 슬레이브 구성 구축 가능

     백업 서버 사용

     슬레이브 서버에서 백업 취득하여 마스터 서버 영향을주지 않고 백업 얻을
     - ) 마스터 서버 항상 여부시키면서 슬레이브 서버에서 DB를 중지하고 콜드 백업 얻을



2. 복제의 구조
2.1 구조

    
마스터 서버에서의 모든 변경 사항을 바이너리 로그 바이너리 로그의 내용을 슬레이브로 전송하여 실행함으로써 실현

        
슬레이브가 복제의 시작을 마스터에 요청
        
마스터가 복제 데이터를 슬레이브로 전송
        
릴레이 로그의 내용을 슬레이브에 적용
        
log-slave-updates를 설정하는 경우, 슬레이브에서 바이너리 로그를 출력 (다단 구성의 복제시 필수)

2.2. 바이너리 로그

    
발행 된 쿼리 중 갱신 계의 SQL문만을 기록하고있는 로그 파일

    
- 쿼리 실행 시간 등의 메타 데이터도 기록
    
- 트랜잭션 커밋시에 동 기적으로 기록 (sync_binlog = 1)

    
바이너리 형식으로 기록

    
- mysqlbinlog 명령으로 텍스트 화 가능

    
부팅 옵션을 지정하여 출력하기

    
- --log-bin [= file_name]
    
- 정상 작동시에는 사용하는 것이 좋습니다
    
- 데이터 디렉토리와는 다른 디스크에 출력하는 것이 좋습니다

    
로그 파일 이름 확장명에 일련 번호를 기록

    
- 예) file_name_bin.001, file_name-bin.002, etc.
    
- 현재 사용중인 로그 번호는 인덱스 파일에 기록 (file_name.index)



반응형
Comments