Others/데이터베이스

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

beagle developer 2020. 9. 11. 23:06

단방향 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