본문 바로가기

이글루스

블루오션 [BLUE OCEAN]

검색페이지 이동

사이드 메뉴

이글루스 블로그 정보

MySQL Dual Master 구성 (Replication)

앱으로 보기

본문 폰트 사이즈 조절

이글루스 블로그 컨텐츠

Dual Master 구성은 동시에 두대의 DBMS에 UPDATE를 가능하게 사용하고
두대 중 한대에 장애가 발생했을 때 UPDATE기능을 사용할 수 있다.
단, 두대의 서버에서 거의 동시에 동일한 컬럼이 DML(Data Manipulation Language, 데이터 조작어)이 발생한다면(특히,update)결과 내용이 서로 달라지는 현상이 발생할 수 있다.
(1번서버의 update는 2번서버로 적용, 2번서버의 update는 1번으로 적용 ^-^;)

설정은 my.cnf에서 아래의 방식을 간단하게 설정이 가능하다.

[ 1번 Master 서버 ]

server-id       = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1

master-host = 2번 Master서버 IP
master-user = replica
master-password = replica
master-connect-retry = 60
replicate-do-db = 동기화 DB Name1
binlog-do-db = 동기화 DB Name1
replicate-do-db = 동기화 DB Name2
binlog-do-db = 동기화 DB Name2
log-bin=mysql-bin

[ 2번 Master 서버 ]

server-id       = 2
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2

master-host = 1번 Master서버 IP
master-user = replica
master-password = replica
master-connect-retry = 60
replicate-do-db = 동기화 DB Name1
binlog-do-db = 동기화 DB Name1
replicate-do-db = 동기화 DB Name2
binlog-do-db = 동기화 DB Name2
log-bin=mysql-bin

-------------------------------------
[mysqld]
# 에러 발생시 동기화가 안되는 부분을 조치함
max_connect_errors = 100000
slave-skip-errors = 1062 #이것은 key가 겹칠 때 무시하는 방법이다.
# 아래는 slow query로 sql튜닝에 사용된다.
log-slow-queries = log-slow-queries.log
long_query_time = 10

--------------------------------------
에러사항 조치
1. 동기화 시 slave에서 동기화를 못했을때 중요하지않은 비동기화에러 넘기기
stop slave;
set global sql_slave_skip_counter=no;
start slave;


포스트 공유하기

썸네일
장땡님의 글 구독하기
덧글 1 관련글(트랙백) 0
신고
맨 위로
앱으로 보기 배너 닫기

공유하기

주소복사

아래의 URL을 길게 누르면 복사할수있습니다.

http://repository.egloos.com/m/5473730
닫기

팝업

모바일기기에서만 이용이 가능합니다.
운영체제가 안드로이드, ios인
모바일 기기에서 이용해주세요.

덧글 삭제

정말 삭제하시겠습니까?

비밀번호 확인

게시글 신고하기

밸리 운영정책에 맞지 않는 글은 고객센터로
보내주세요.

신고사유


신고사유와 맞지 않을 경우 처리되지 않을 수 있습니다.
저작권 위반/명예훼손 등은 고객센터를 통해 권리침해
신고해주세요.
고객센터 바로가기