MoreLean

mysql replication 이 깨졌을 경우 본문

Programmer/Mysql

mysql replication 이 깨졌을 경우

judeKim' 2013. 7. 11. 09:05
반응형

mysql replication 이 몇가지 사유로 인해 깨졌을 경우.

기본적으로 mysql 의 replication은 binary 로그를 기반으로 순차적인 복제 실행을 하는 과정을 가지고 있다.

즉, 해당 문제가 발생하였을 경우 로그 포지션을 기록해두었다가 해당 문제를 스킵하면 되나, 그 문제 발생 사유가 데이터의 구조등의 변경에 영향을 미치는 쿼리라면 스킵하는 것만이 능사는 아니니 꼭 확인이 필요함.

# skip 방법

1. mysql 의 master log position을 지정해준다.

  예를 들어 mysql-bin.00009로그파일의 1001번째 position 에서 문제가 발생했을 경우 

mysql> stop slave;

mysql> change master to master_log_file 'mysql-bin.00009', master_log_pos=1002;

mysql> start slave;

  잠시 slave를 중지하고, 1002로 다음번 포지션으로 수정하여 다시 slave를 재가동하는 방법


2. mysql의 sql_slave_skip_counter를 설정하여 해당 문제를 pass하는 방법

mysql> set global sql_slave_skip_counter = 1;

mysql> start slave;


반응형