본문 바로가기
Etc/경험담

[MySQL] Replication 장애 복구

by 생각하는달팽이 2016. 3. 2.

안녕하세요?


AWS 를 이용하여 디비서버와 API 서버를 운영하는데 있어서 알게된 사실은 인스턴스를 껐다 키면, 리플리케이션이 깨진다는 것이다. ( Master의 테이블을 Lock 건 후 Slave 를 먼저 내리고 Master 를 내려야하는데, 두개를 동시에 stop 시키면서 발생한 문제입니다. )


MASTER


1. 마스터 테이블들을 LOCK 겁니다 


명령어 : mysql> FLUSH TABLES WITH READ LOCK;



2. 마스터 DB 의 Log 파일과 포지션을 알아둡니다.





여기까지가 마스터DB 에서 할 일



SLAVE


슬레이브로 돌아와서 다음과 같이 작성해줍니다. 

우선 슬레이브를 멈춥니다.

SLAVE STOP;


그 후


CHANGE MASTER TO 

MASTER_HOST='IP ADDRESS',

MASTER_USER = 'USER ID',

MASTER_PASSWORD='PASSWORD',

MASTER_PORT='3306',

MASTER_LOG_FILE='mysql-bin.000083',

MASTER_LOG_POS=8709,

MASTER_CONNECT_RETRY=10;



다시 슬레이브 동작


SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; SLAVE START; 

MASTER


이후 다시 마스터DB 로 돌아갑니다.


UNLOCK TABLES;


이상입니다. (_ _)

아, 참고로 디비서버의 경우 Instance 최초 생성시 로그인이 안될경우가 있는데

이럴경우에는 다음 명령어를 .. .

> sudo service mysql restart 


반응형

'Etc > 경험담' 카테고리의 다른 글

[AWS] 인프라 구축  (0) 2016.04.06
[AWS] LB,Auto-scale group  (0) 2016.04.01
[HHVM] Nginx 업로드 Request Entity Too Large  (0) 2016.02.29
[Ubuntu 14.04] Command 모음  (0) 2016.02.25
[Unity] 4.6.9p2 빌드시 오류 경험.  (3) 2015.12.18