1. MySQL 복제란
    1. 2대 이상의 DBMS를 나눠서 데이터를 저장하는 방식
    2. 최소 구성은 Master/Slave 구성을 가져야함
  2. 각 DBMS의 역할
    1. Master DBMS
      1. 웹서버로 부터 데이터 등록/수정/삭제 요청시 바이너리로그를 생성하여 Slave서버로 전달
      2. 웹서버로부터 요청한 데이터를 등록/수정/삭제 기능을 하는 DBMS로 사용됨
    2. Slave DBMS
      1. Master DBMS로 부터 전달받은 바이너리로그를 데이터로 반영하게 됨
      2. 웹서버로부터 요청을 통해 데이터를 불러오는 DBMS로 사용됨
  3. MySQL 복제의 사용 목적
    1. 데이터의 백업

      Untitled

      1. Master 서버에 등록/수정/삭제가 생기는 즉시 Slave 서버의 변경된 데이터를 전달
      2. 이러한 과정에서 데이터를 백업
      3. Master 서버의 장애가 생겼을 경우 Slave 서버로 대체가 가능함
    2. DBMS의 부하 분산

      Untitled

      1. 사용자의 폭주로 1대의 DB서버로 감당할 수 없을 때, DB 데이터를 여러대를 만들 수 있어 부하 분산
      2. 예시에서는 등록/수정/삭제는 Master 서버에하지만 조회는 Slave 서버에서 수행하며, 데이터의 수정이 있을 때마다 Slave 서버로 전달되기 때문에 분산 가능
  4. 복제 시 주의사항
    1. 호환성을 위해 MySQL의 버전을 맞추는 것이 좋음
    2. 만일 버전이 다른 경우 Slave 서버가 상위 버전이어야 함
    3. 처음 시작할 때 Master서버 → Slave 서버 순서로 가동해야함