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;
반응형