2024. 1. 8. 23:26ㆍMySQL/Class
1. replication 이란
DB를 복제하는 것을 의미합니다. MySQL의 안정성을 높이기 위해 source-replica 의 관계로 사용을 하고 장애 발생시 빠른 대처가 가능하기 때문에 서비스 운영에 있어서 꼭 필요한 기능(?)입니다.
2. replication 방식
비동기 방식(async) : source 는 replica 의 데이터 동기화 여부에 관여하지 않습니다.
- 처리 속도가 빠르지만 데이터의 안정성이 동기방식에 비해 낮습니다.
동기 방식(semi-async) : source 는 replica 의 relaylog 까지 확인하여 동기화여부에 관여를 하게 됩니다.
- 처리 속도는 느리지만 데이터의 안정성은 높습니다.
3. replication 동작 원리
source 에서 DML 작업이 발생, 즉 데이터의 변화가 생기면 binlog 에 쓰여지게 됩니다. binlog는 replica 의 I/O thread를 통해 relaylog 로 보내지고 이후 SQL thread를 통해 DB에 쓰여져, 최종 데이터 복제가 이뤄지게 됩니다.
우리가 show replica status 명령어를 날렸을 때, 꼭 봐야하는 파라미터 값 Slave_IO_Running 와 Slave_SQL_Running 을 통해 replication의 상태를 파악 할 수 있는 것입니다.
대부분 replication의 연결 문제는 source와 어떤 이유로 연결이 되지 않는 경우가 발생되곤 하는데, 이럴 경우 Slave_IO_Running의 값이 NO로 표시가 되며 에러가 발생됩니다.
# 다음시간에는 replication연결시 어떤 에러들이 종종 발생되는지 확인해 보겠습니다. 제가 겪었던 에러들로 어떤 문제였는지 어떻게 해결을 했는지 설명을 해보겠습니다.
'MySQL > Class' 카테고리의 다른 글
HA 구성 - (5) MHA : ERROR편 (0) | 2024.01.19 |
---|---|
HA 구성 - (4) MHA (0) | 2024.01.18 |
HA 구성 - (2) 운영 서버 (0) | 2024.01.06 |
HA 구성 - (1) 신규 서버 (0) | 2024.01.04 |
M2(Mac)용 VMWare로 가상화 만들기 - (5) 복제 (0) | 2023.12.29 |