- MySQL 복제란
- 2대 이상의 DBMS를 나눠서 데이터를 저장하는 방식
- 최소 구성은 Master/Slave 구성을 가져야함
- 각 DBMS의 역할
- Master DBMS
- 웹서버로 부터 데이터 등록/수정/삭제 요청시 바이너리로그를 생성하여 Slave서버로 전달
- 웹서버로부터 요청한 데이터를 등록/수정/삭제 기능을 하는 DBMS로 사용됨
- Slave DBMS
- Master DBMS로 부터 전달받은 바이너리로그를 데이터로 반영하게 됨
- 웹서버로부터 요청을 통해 데이터를 불러오는 DBMS로 사용됨
- MySQL 복제의 사용 목적
-
데이터의 백업
- Master 서버에 등록/수정/삭제가 생기는 즉시 Slave 서버의 변경된 데이터를 전달
- 이러한 과정에서 데이터를 백업
- Master 서버의 장애가 생겼을 경우 Slave 서버로 대체가 가능함
-
DBMS의 부하 분산
- 사용자의 폭주로 1대의 DB서버로 감당할 수 없을 때, DB 데이터를 여러대를 만들 수 있어 부하 분산
- 예시에서는 등록/수정/삭제는 Master 서버에하지만 조회는 Slave 서버에서 수행하며, 데이터의 수정이 있을 때마다 Slave 서버로 전달되기 때문에 분산 가능
- 복제 시 주의사항
- 호환성을 위해 MySQL의 버전을 맞추는 것이 좋음
- 만일 버전이 다른 경우 Slave 서버가 상위 버전이어야 함
- 처음 시작할 때 Master서버 → Slave 서버 순서로 가동해야함