- 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;
**이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'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 |