본문 바로가기
Mysql

Mysql Master Slave 동기화 오류 시 처리

by NaHyungMin 2018. 10. 15.

마스터와 슬레이브가 동기화 되고 있지 않아서 찾아 보니, 마스터랑 슬레이브랑 position이 맞질 않는다.


이런 -.- 알고 보니, 테이블을 추가 했는데 슬레이브 쪽에 권한이 없어서 오류...

그럼 이것 저것 알아보고 후다닥 처리 했다.


일단 리눅스에 접속해서 mysql에 접속해야 한다.

master랑 slave쪽 각각 local로 설치되어 있기에, 간단하게 접속할 수 있다.


mysql -u 유저명 -p --port 포트 --host 127.0.0.1 이렇게 명령어를 치면 비밀번호 입력란이 나온다.


비밀번호를 입력하고 난 뒤 master와 slave에서 show master status를 친다.

이 때, file안에 정보와 position이 맞질 않으면 동기화가 제대로 되지 않는 것이다.



Master


Slave


그럼 정말 오류가 있나 show count(*) errors를 slave에서 쳐보도록 하자.


오잉.. 오류가 있어서 정지된 것 같다.


그럼 다음은 show slave status\g 명령어를 통해

뭐가 문젠지 찾아보자.

동그라미 친 곳에 보면... 동작을 하고 있지 않다고 한다.

아래 오류 코드를 보면 1049 오류가 있다.



funtion을 만드려는데... 흠, 데이터베이스 즉 스키마가 존재하지 않는단다.

그래서 열심히 테이블과 유저를 master와 동일하게 만들어 줬다.


처리를 다 했으면 slave를 잠시 멈췄다가, 오류를 스킵 후 다시 시작한다.



그리고 다시 show slave status\g 을 통해 조회를 해보면 Slave_SQL_Ruuning이 Yes로 변경되어 있는 것이 보일 것이다.




그리고 show master status; 를 쳐보면, 동기화가 진행되고 있는 것이 보인다.



'Mysql' 카테고리의 다른 글

Mysql 엔진  (0) 2019.03.07
Mysql Update Select  (0) 2019.01.11
MyISAM, MEMORY 엔진의 잠금  (0) 2018.10.12
Mysql 엔진 잠금(Lock)  (0) 2018.10.12
기본 오류 처리  (0) 2018.10.12