본문 바로가기
카테고리 없음

Mysql Dual master – slave replication - 2단계

by 반화넬 2023. 7. 23.
반응형

안녕하세요.

오늘은 간단하게 Mysql Dual master – slave replication 구성하는 방법을 단계별로 알아볼까 합니다. 차근 차근 따라 하시면 쉽게 구성 가능하실거에요. 이번에는 계정 생성 및 기본 설정에 대해서 알아보겠습니다.

 

제 구성을 위한 계정 생성

CREATE USER dbmaster@'%' IDENTIFIED BY 'abc5678!' PASSWORD EXPIRE NEVER;
grant replication slave on *.* to dbmaster@'%';
flush privileges;
show grants for dbmaster@'%';

 

계정을 생성하고 해당 계정에 대한 퀄한을 재 확인합니다.

 

Mysql root 비밀번호 변경


# root 비밀번호 변경

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';
FLUSH PRIVILEGES;

# 유저 비밀번호 변경

alter user '유저아이디'@'localhost' identified with mysql_native_password by '비밀번호';
alter user '유저아이디'@'%' identified with mysql_native_password by '비밀번호';

SET PASSWORD FOR '유저아이디'@'%' = PASSWORD('비밀번호');

Mysql 외부 접속 설정

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

#bind-address           = 127.0.0.1
#mysqlx-bind-address    = 127.0.0.1

# Mysql 데몬 재구동

sudo service mysql restart

Mysql - Master 서버 설정

# 서버 ID 설정 및 로그 관련

server-id               = 1
log_bin                 = /var/log/mysql/mysql-bin.log
binlog_format=MIXED
expire_logs_days = 2
log_slave_updates = ON
slave-skip-errors = all
relay-log=master1-relay-bin
# 슬로우 쿼리 관련(옵션)

 slow_query_log         = 1
 slow_query_log_file  = /var/log/mysql/mysql-slow.log
 long_query_time       = 2

Mysql - Slave 서버 설정

# 서버 ID 설정 및 로그 관련

server-id               = 2
log_bin                 = /var/log/mysql/mysql-bin.log
binlog_format=MIXED
expire_logs_days=2
log_slave_updates=ON
slave-skip-errors = all
relay-log=master2-relay-bin
# 슬로우 쿼리 관련

slow_query_log         = 1
slow_query_log_file    = /var/log/mysql/mysql-slow.log
long_query_time = 2

복제 구성 연동

# Master 1

STOP SLAVE;
# RESET SLAVE;
CHANGE MASTER TO MASTER_HOST='slave ip',MASTER_USER='dbmaster',MASTER_PASSWORD='비밀번호';
START SLAVE;
SHOW SLAVE STATUS;

# Master 2

STOP SLAVE;
# RESET SLAVE;
CHANGE MASTER TO MASTER_HOST='master ip',MASTER_USER='dbmaster',MASTER_PASSWORD='비밀번';
START SLAVE;
SHOW SLAVE STATUS;

코드.2

동기화 연결전

현재 아이피의 경우 내부 아이피로 131,132 아이피를 사용하였습니다. 2대의 서버가 정상 연결일 될경우 IO Running, SQL Running 의 상태가 No에서 Yes 로 바뀌었다면 정상 연결된거니 두 서버세엇 Insert, Update, Delete 를 실행해서 해당 동기화가 되는지 확인해보세요.

동기화 완료후

이렇게 연결이 되었음을 알수 있을거에요. 

# 동기화 관련  테스트 진행

1. 테이블 생성
2. 생성된 테이블에 insert, update, delete 실행이후 동기화 테스트 화면 캡쳐
3. 생성된 테이블에 Load Data를 이용하여 대량 data 등록 테스트

다음에는 동기화 이후 해당 Data 처리 하는 부분과 에러 사항등 추가 내용을 확인해보겠습니다.

 

감사합니다.

반응형