Rocky 가상머신 2대로 Replication 구현하기
1. Master(DB)
2. Slave(Replica-DB)
Master / Slave 머신에서
dnf install mariadb-server
dnf start mariadb
mysql_secure_installation 실행하기
mysql 에서 DB 백업 하는법
@Master
[root@localhost master] mysqldump -u root -p mysql user > mysql_user.sql
[root@localhost master] cat mysql_user.sql | tail





Mysql 에서 DB 백업파일 적용 하는법
[root@localhost master] mysql -u root -p < alldb.sql


** reptest라는 DB를 생성후에, 그전에 백업했던 DB로 뒤집어씌워도 reptest는 여전히 존재하는 걸 확인 **
Slave DB 와의 통신을 위해 방화벽 포트 설정
[root@localhost master] mysql -u root -p mysql < mysql_bak.sql
[root@localhost master] firewall-cmd --permanent --add-port=3306/tcp
[root@localhost master] firewall-cmd --reload
[root@localhost master] firewall-cmd --list-ports
3306/tcp


MariaDB [(none)]> grant replication slave on *.* to 'slave_db'@'%' identified by '1234';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
[root@localhost master] systemctl restart mariadb
[root@localhost master] mysql -u root -p
MariaDB [(none)]> show master status;


@Slave




maseter_log_file은 master의 File_name , master_log_pos는 master의 Position
show slave status\G


@Master DB

@Slave DB



@Master DB

** Master DB에서 만든 데이터는 Slave DB에 적용되지만,
Slave DB에서 만든 데이터는 Master DB에 적용되지 않는 것을 확인 **
마스터-슬레이브 구조는 데이터베이스 복제를 통해 데이터의 원본과 복제본을 나누는 방식
마스터 (Master) 👑
- 역할: 모든 쓰기(Write) 작업 (INSERT, UPDATE, DELETE)을 담당
- 특징: 데이터의 원본이 저장된 서버이며, 오직 하나만 존재
슬레이브 (Slave) 📝
- 역할: 마스터의 데이터를 복제하고, 주로 읽기(Read) 작업 (SELECT)을 처리
- 특징: 마스터의 복제본이며, 여러 개 생성 가능
핵심 원리
마스터에서 데이터가 변경되면 그 기록이 바이너리 로그에 저장
슬레이브는 이 로그를 복사해와서 순서대로 실행하며 마스터와 똑같은 상태를 유지
효과
- 성능 향상: 읽기 요청을 슬레이브로 분산시켜 마스터의 부하를 저하
- 안정성: 마스터가 고장 나도 슬레이브가 대신 역할을 수행하여 서비스가 중단되지 않도록 함
'시스템 보안' 카테고리의 다른 글
| [9월 5일] php 설치하기 in rocky (0) | 2025.09.05 |
|---|---|
| [9월 4일] Redis Server (0) | 2025.09.04 |
| [9월 2일] DB 모니터링 시스템 구축하기 (0) | 2025.09.02 |
| [8월 4일] Suricata IDS 구축 및 운용하기 (1) | 2025.08.04 |
| [8월 4일] Snort IDS 구축 및 운용하기 (3) | 2025.08.04 |