일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 영단어
- paypay
- しまじろう
- 사이타마
- 돼지갈비
- Shimajirou
- 스테이크
- 일본
- Sekai Entertainment
- 시마지로
- 리눅스
- 토익
- 시스템관리
- fish
- 돈까스
- TOY
- 원탭바이
- 여름
- 라면
- 米沢、팽이
- one tab buy
- 신쥬쿠
- 자동차
- 명령어
- 동경 모터쇼
- youtuber
- 칸칸
- 전철
- 점심
- 코라쿠엔
- Today
- Total
IT Japan
Replication 본문
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)
'MySQL' 카테고리의 다른 글
Mac (Yosemite)에서 Homebrew 다시 설치. (0) | 2016.07.29 |
---|---|
RDS Aurora 연결시에 MySQL-python에 빠지다 (0) | 2016.07.29 |
MySQL-MHA를 이용한 Multi-Master HA 구축 (0) | 2016.05.25 |
Cacti의 MySQL감시방법 (0) | 2016.04.20 |
[mySQL5.5] 19장. Replication (0) | 2016.03.23 |