본문 바로가기
DB/MySQL,MariaDB

MariaDB Replication 실시간 이중화

by 팡팡마트 2023. 7. 26.
728x90

 - 2대의 서버에 master-slave 구성하여 실시간 이중화 구현

 - master : 데이터 변경 이벤트 발생 시 Binary logs에 추가하고 slave로 전달

 - slave : master에서 전달받은 Binary logs를 DB에 반영

 - Binary logs : DB에서 발생하는 모든 내역이 기록되는 파일

 

**azure centos 8 stream 2대 배포

 

1. master 서버 설정

# vi /etc/my.cnf

내용을 모두 지우고 아래 내용만을 추가하고 저장

[mysqld]
log-bin = mysql-bin
server-id = 1
binlog_format = row
expire_logs_days = 2

mariadb 재시작

# systemctl restart mariadb.service

 

접속

# mysql -u root -p

 

slave에서 접속 할 계정 생성

# mysql > grant replication slave on *.* to 'slave_db'@'%' identified by '12345678';

 

bin 확인

# mysql > show master status;

 

2. slave 설정

# vi /etc/my.cnf

내용을 모두 지우고 아래 내용만을 추가하고 저장

[mysqld]
log-bin = mysql-bin
server-id = 2
binlog_format = row

expire_logs_days = 2

 

mariadb 재시작

# systemctl restart mariadb.service

 

접속

# mysql -u root -p

 

master 연동 설정

# mysql > CHANGE MASTER TO
                                 MASTER_HOST="20.214.162.199",
                                 MASTER_USER="slave_db",
                                 MASTER_PASSWORD="12345678",
                                 MASTER_PORT=3306,
                                 MASTER_LOG_FILE="mysql-bin.000006",
                                 MASTER_LOG_POS=522;

 

slave 실행

# mysql > start slave;

 

slave 상태 확인

# mysql > show slave status \G;

 

3. Replication 확인

master에서 database 생성

# mysql > create database TESTDB;

slave에서 확인

# mysql > show databases;

master에서 테이블 생성

# mysql > use TESTDB

# mysql > CREATE TABLE USER_TB(
        user_idx INT PRIMARY KEY AUTO_INCREMENT,
        user_name VARCHAR(10) NOT NULL
        );

 

데이터 입력

# mysql > INSERT USER_TB(user_name) values('aaaa');

 

slave에서 확인

# mysql > SELECT * FROM USER_TB;

 

**이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

728x90

'DB > MySQL,MariaDB' 카테고리의 다른 글

MySQL 트리거 만들기  (0) 2023.10.11
MariaDB백업 Mariabackup  (0) 2023.07.31
특정IP 접속 허용  (0) 2023.07.27
MySQL용 dump DB  (0) 2023.07.23
초기 설치 시 MariaDB 패스워드 변경  (0) 2023.07.23