반응형
이중화 프로세스
- Master 서버가 데이터 변경에 대한 event 발생 내역을 binary log에 기록
- Master 서버가 binary log를 Slave에게 전달
- Slave는 이 binary log 를 읽어 본인 DB에 반영
binary log 란?
- mysql(mariadb)에서 발생하는 모든 내역들이 기록되는 파일
- default는 비활성화 상태이기 때문에, 이중화를 하기 위해 이를 활성화시키는 작업이 선행되어야 함
Master - Slave로 이중화 구축하기 위해선 각각의 서버 설정을 따로 수행필요
1. 이중화 시킬 2대의 Maria DB 구축
- maria1를 Master로, maria2를 Slave로 구축할 예정
2. Master 서버 설정
2-1. Master 서버 접속
2-2. vi 편집기로 config 파일 열기
* 파일 위 치 : /etc/mysql/my.cnf
2-3. 설정 내용 입력
log-bin = mysql-bin // log-bin : binary log 파일 명
server-id = 1 // server-id : 서버의 고유 id값 (slave와 다른 값 입력)
binlog_format = row // binlog_format : 로그 포맷 설정
// STATEMENT(기본 값)
// ROW : 변경된 데이터 자체를 기록
// MIXED : 자동으로 STATEMENT 혹은 ROW 선택
expire_logs_days = 2 // expire_logs_days : 로그 보관 기간
2-4. 서버 재부팅 후 Slave 에서 접속할 계정 생성 (Dbeaver)
grant replication slave on to 'slave_db'@'%' identified by '12345678';
2-5. binary log 생성 확인 (Dbeaver)
show master status;
- File 명과 Position 번호는 Slave 연결 과정에서 필요
3. Slave 서버 설정
3-1. Master 서버 접속
3-2. vi 편집기로 config 파일 열기
* 파일 위 치 : /etc/mysql/my.cnf
3-3. 설정 내용 입력
log-bin = mysql-bin // log-bin : binary log 파일 명
server-id = 2 // server-id : 서버의 고유 id값 (Master와 다른 값 입력)
binlog_format = row // binlog_format : 로그 포맷 설정
// STATEMENT(기본 값)
// ROW : 변경된 데이터 자체를 기록
// MIXED : 자동으로 STATEMENT 혹은 ROW 선택
expire_logs_days = 2 // expire_logs_days : 로그 보관 기간
3-4. 서버 재부팅 후 Master와 연동설정 (Dbeaver)
CHANGE MASTER TO
MASTER_HOST='[IP 주소]', -- Master 서버 IP
MASTER_USER='slave_db', -- Master 서버에서 생성한 계정
MASTER_PASSWORD='12345678', -- Master 서버 생성 계정 암호
MASTER_PORT=[포트번호], -- Master 서버 Maria DB 포트
MASTER_LOG_FILE='mysql-bin.000001', -- Master 서버 binary-log 파일명
MASTER_LOG_POS= 2171; -- Master 서버 position 값
3-5. slave 실행 후 연동 상태 확인 (Dbeaver)
start slave; -- slave 실행 명령어
stop slave; -- slave 중지 명령어
show slave status; -- 상태 확인 명령어
- - Waiting for master to send event 값이 나오면 연동 성공
반응형
'DB' 카테고리의 다른 글
[MaxScale] MaxScale을 통한 MariaDB 로드밸런싱 (0) | 2025.02.21 |
---|---|
[MariaDB (5/5)] MariaDB 이중화 (GTID 2. 실습) (0) | 2025.02.17 |
[MariaDB (4/5)] MariaDB 이중화 (GTID 1. 개념 정리) (0) | 2025.02.14 |
[MariaDB (3/5)] MariaDB 이중화 테스트(Master - Master) (0) | 2025.02.11 |
[MariaDB (1/5)] MariaDB 이중화란 (0) | 2025.02.08 |