본문 바로가기

Others/데이터베이스

[리눅스] MySQL Dual Replication 설정 방법

단방향 Replication 설정 방법에 이어 양방향 Dual Repliction 설정 방법을 설명 드리겠습니다.

해당 방법은 기존의 Master 서버만이 Insert, Delete, Update 문을 실행했다면

FailOver를 통한 Slave 서버를 Mater 서버로 승격시킬 수 있는 방법입니다.

 

테스트 환경

CentOS Linux release 7.2.1511 (Core)

MySQL 5.7.24

Master Server IP - 172.27.0.230

Slave Server IP - 172.27.0.84

 

쉽게 이해하기 위하여 Master 서버를 서버A, Slave 서버를 서버B 로 칭하겠습니다.

 

대상서버: 서버B

 

서버A 에서 서버B로 접근이 가능하도록 계정을 생성합니다.

(mysql> grant replication slave on *.* to '계정명'@'서버A의 주소' identified by '패스워드';)

 

 

서버B의 MySQL 을 재시작 합니다.

(# systemctl restart mysqld)

 

서버B의 MySQL Bin Log 를 확인합니다.

(mysql> show master status;)

 

대상서버: 서버A

 

서버A 에서 서버B와 연결해주기 위하여 아래와 같이 입력합니다.

(mysql> MASTER_HOST='서버B의 주소',

MASTER_USER='계정명',

MASTER_PASSWORD='패스워드',

MASTER_LOG_FILE='서버B의 Bin Log File명',

 

MASTER_LOG_POS=서버B의 Bin Log Position;)

 

서버A의 MySQL을 재시작 합니다.

(# systemctl restart mysqld)

 

--------------------------------------------------------------------------------------------

 

설정은 여기서 끝입니다.

테스트를 진행하겠습니다.

 

현재 DB의 테이블 상태입니다.

 

서버A의 MySQL 을 종료합니다. (서버A 장애 발생)

 

서버B에서 DB의 값을 추가해줍니다.

 

서버A의 MySQL을 시작합니다. (서버A 장애 복구)

 

서버A에서 해당 테이블을 검색하면 서버A의 장애 기간동안의 내용이 자동으로 동기화가 되었음을 알 수 있습니다.

 

 

 

[출처] https://blog.naver.com/ncloud24/221443452960

 

[리눅스] MySQL Replication 설정 방법

Replication이란?- Replication은 '복제'라는 의미에 맞게 MySQL의 Master 서버의 데이터를 n개의 ...

blog.naver.com