회사마다 db를 살리기 위한, 또 잘 활용하기 위한
여러가지 방법들을 활용하고 있다.

db를 실시간으로 따라가는 slave db를 두는 것은 물론이고,
3시간 마다 스냅샷을 찍고, 필요한 데이터쿼리를 해보기 위한 db를 따로 두는 등 기존에 쌓여진 데이터를 잘 활용하는 것도 너무나도 중요하고 기존의 데이터를 지키는 것도 너무나도 중요하다.

db를 실시간으로 따라가는 것은
mysql replication 설정으로 가능하다.

하지만 해당 부분이 깨지게 되면 굉장히 귀찮게 체크해줘야할 부분이 많다.
이미 설정되어 있다는 가정하에 체크해볼 것을 체크해보자.

master db 현재 설정된 replication 확인

  • mysql 접속
  • show processlist\G
  • => 현재 replication된 정보들을 볼 수 있음

slave db 접속

  • mysql 접속
  • show slave status\G
  • => 현재 master를 따라가고 있는 replication의 상태를 볼 수 있음
  • 여기서 보이는 에러 로그를 확인하고 google에 검색하여 해결

여기서 에러 로그가 보인다면 해결이 필요

=> 이런 에러를 접하게 되었다.

[해결 방법]

Relay log를 읽어오는 과정에서 오류가 있었던 것으로 보아 현재 slave 에 생성된 Relay log 파일이 깨진것으로 보임. 그렇기에 relay log를 master로 부터 다시 읽어오면 됨. 

참고 블로그:
[황제펭귄의 IT](http://egloos.zum.com/darkit/v/215603)

오잉 근데 우리 시스템에는 
MASTER_AUTO_POSITION is active 
때문에 따로 change master 경로를 변경하는게 불가하였다.

결국 reset slave를 해준 뒤 문제 있던 부분을 바꿔주려고 했으나
그냥 start slave를 해주면서 해결되었다!

mysql> stop slave;
mysql> reset slave;
mysql> start slave;

참고 하였던 좋은 블로그 글들을 공유하면서 총총
[[MySQL] MySQL Replication 구성하기](https://gangnam-americano.tistory.com/12)

'서버' 카테고리의 다른 글

Error: Unknown command: cask 에러를 만났을 때  (3) 2021.03.13
Graphql이란  (0) 2020.09.26
nslookup 이란  (0) 2020.08.31
초보자를 위한 REST API  (0) 2020.06.21
Docker란(도커란)  (0) 2020.06.02

+ Recent posts