-
mysql replication 이 깨졌을 경우Programmer/Mysql 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;
'Programmer > Mysql' 카테고리의 다른 글
MySQL SET type에 대하여 (0) 2017.07.23 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (0) 2015.03.15 Ubuntu 에서 mysql 설치시 data 폴더를 변경할 경우 (0) 2013.11.19 mysql replication 이 깨졌을 경우 (0) 2013.07.11 Mysql 에서 concat 사용시 제대로 동작하지 않는 경우 (0) 2013.07.06