Linux DB

mysql replicaton을 이용해서 메인 DB서버(master)의 데이터를 백업 DB서버(slave)로 실시간으로 백업을 하고 있습니다.


그런데 백업이 잘 되다가 어느 순간부터 master db 데이터가 slave db에 반영되지 않는 경우가 발생하는 경우가 생길 시,

 

[SLAVE DB]

# slave db에서 현재 상태를 확인합니다.

mysql> show slave status;

slave db에서 에러가 발생했다면 Read_Master_Log_Pos값과 Exec_masterlog_pos값이 다르며 에러 내용은 Last Errono와 Last_error 값으로 확인할 수 있습니다. 또한 Slave_IO_Running, Slave_SQL_Running 값이 모두 Yes 이어야 합니다.

쿼리문으로 인해 발생한 에러이고 해당 쿼리문을 확인해 보니 무시할 수 있다면 해당 쿼리문이 실행된 포지션(postion)을 강제로 건너띄면 그 다음 포지션부터 slave db에 그동안 쌓인 데이터가 반영됩니다.

참고> 에러가 발생해서 slave db에 반영되지 않았더라도 master db 데이터는 계속 쌓입니다.

참고> master db 현재 상태 확인하기

[MASTER DB]

mysql> show master status;

master, slave db 상태가 일치해야합니다.

[master] = [slave]

File        = Master_Log_File

Postion  = Read_Master_Log_Pos

 

# 먼저 리플리케이션을 멈춘다.

 - slave db 서버를 멈춰도 master db 데이터는 계속 쌓이며 다시 실행하게 되면 그동안 쌓인 데이터가 slave db에 반영이 됩니다.

mysql> stop slave;

 

# 에러가 발생한 쿼리문을 1개 건너 뜁니다.(error가 여러 개이면 그만큼 반복 실행해서 에러가 난 쿼리문을 건너뛰게됩니다.)

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

 

# 리플리케이션을 시작한다.

mysql> start slave;

 

위처럼 실행하게되면 그동안 쌓여있던 데이터들이 반영됩니다.

번호 제목 글쓴이 날짜 조회 수
45 MySQL 원격 접속이 이뤄지지 않는다면? 호스트웨이 2012.07.13 10736
44 MySQL Table 상태 확인, 복구 및 최적화 호스트웨이 2015.09.11 10870
43 Mysql DB 생성 및 사용자 추가 호스트웨이 2012.03.23 11144
42 [mysql] /tmp/mysql.sock이 없다고 DB접속이 안되는 경우 호스트웨이 2015.09.21 11166
41 MySQL 설치 시 checking "LinuxThreads"… "Not found" 에러 발생 시 호스트웨이 2012.09.21 11308
40 mysql 로그 삭제하기 호스트웨이 2012.07.20 11488
39 Mysql banchmark tool – sysbanch 설치하기 호스트웨이 2012.07.06 11543
38 MYSQL의 "too many connections" 에러 해결법 호스트웨이 2015.09.10 11789
37 MySQL Bash 스크립트를 활용한 로컬 백업 호스트웨이 2016.02.04 12399
36 안전한 MySQL 접속하기 file 호스트웨이 2012.06.22 13055
35 MariaDB, MySQL 의 InnoDB 엔진 백업 솔루션 xtrabackup 호스트웨이 2015.05.07 13861
34 Mysql - 원격 접속 지연 발생시 호스트웨이 2012.08.03 14013
33 심볼릭 링크를 이용한 mysql 데이터 디렉토리 위치 변경 호스트웨이 2012.03.23 14299
32 MySQL-5.5 설치하기 호스트웨이 2012.04.27 15711
31 Ubuntu mysql 삭제/재설치 호스트웨이 2015.09.04 16825
30 DB접속시 DNS 관련 오류 호스트웨이 2015.09.25 18224
29 MySQL Table 이 깨졌을 때 복구하는 방법 호스트웨이 2012.03.16 18651
28 mysql의 table이 깨졌다는 메시지가 출력됩니다. sylee 2008.05.15 18875
27 show processlist의 state 종류 호스트웨이 2012.05.11 19210
26 My SQL 사용자 추가 호스트웨이 2008.05.19 19265