OS

2022.02.21 11:20

mysql live replication 테스트

  • 비아웹 오래 전 2022.02.21 11:20 인기
  • 3,545
    0

안녕하세요

서버호스팅 비아웹입니다.

 


FM 적인 mysql replication 서비스 구성시 절차는 아래와 같습니다.

Master DB lock => DB dump => Slave DB Server DB import

=> Slave DB replication 설정 => Master DB lock 해제 후 서비스 확인

Master DB 를 lock 하지 않고, live 상태에서 replication 이 가능한지에 대해 테스트 결과 정리합니다.

 

1. 테스트 환경

: Master DB 서버에 mariadb 설치 후 VM clone 을 이용한 동일 설정 구성

OS

CentOS 7.9

mysql DB Version

mariadb-server-5.5.68-1.el7

Primary(Master) DB IP

192.168.80.151

Repilca(Slave) DB IP

192.168.80.152

 

2. Primary(Master ) 서버 MariaDB 설정

a. my.cnf 설정

# vi /etc/my.cnf.d/server.cnf [mysqld] server_id=1 log_bin=mysql.bin

server_id 및 log_bin 설정 후 mariadb restart 진행

 


b. replication 계정 설정

MariaDB [(none)]> grant replication slave, replication client on *.* to 아이디@'%' \
identified by '패스워드';

c. Primary DB dump

mysqldump -u root -p --single-transaction --master-data=2 --all-databases > backup.sql

d. live replication 확인을 위해 DB에 1G 이상의 신규 db 추가 import

: mysql full dump 후 신규 데이터 import 를 통해 dump 내용 외 replication 확인용

 

 

2. Replica(Slave) 서버 MariaDB 설정

a. my.cnf 설정

# vi /etc/my.cnf.d/server.cnf log_bin=mysql.bin server-id=2 relay_log=mysql-relay-bin log_slave_updates=1 read_only=1

환경 설정 후 mariadb restart 진행

 

b. Replica DB 서버에 Primary DB import

# mysql -u root -p < backup.sql

c. Primary DB dump 에서 MASTER_LOG_FILE 및 MASTER_LOG_POS 확인

Primary DB dump 파일내 로그파일 및 로그포지션 정보

 

d. Replica (Slave) 환경 설정

MASTER_HOST= 마스터 DB 서버 IPMASTER_USER= replication 유저 MASTER_PASSWORD= replication 유저 패스워드 MASTER_LOG_FILE=MASTER_LOG_FILE 이름 MASTER_LOG_POS=MASTER_LOG_POSITION No
MariaDB [(none)]>CHANGE MASTER TO MASTER_HOST='IP', MASTER_USER='replication_유저', \
MASTER_PASSWORD='패스워드',MASTER_PORT=3306, MASTER_LOG_FILE='로그파일이름', \
MASTER_LOG_POS=포지션NO, MASTER_CONNECT_RETRY=10;

e. Replica DB start

MariaDB [(none)]> start slave;

 

3. 서비스 확인

a. Primary DB 상태 확인

 

b. Replica DB 상태 확인

Primary DB 서버의 binlog 를 이용하여 DB sync 진행 중

 


c. mysql DB sync 완료 확인

 
d. Primary / Replica DB 디렉토리 내용

 
e. Primary 서버에 신규 데이터 import 후 결과 확인

이상의 테스트는

mysql replication 서비스를 live 상태에서 가능한지에 대한 테스트 내용이며,

실 서비스에서 사용 가능한지 여부는 확인이 되지 않은 내용이니,

서비스 다운 타임 확보를 통한 FM 방식으로 replication 적용하시기 바랍니다.

master / slave 명명법이 Primary / replica 형식으로 표현이 변경이 필요하여,

작성하다 보니 혼용과 오타가 있을 수 있음을 알려드립니다.

 

감사합니다.

서버호스팅 비아웹

 

  • 공유링크 복사

    댓글목록

    등록된 댓글이 없습니다.