반응형

- replication slave 오류 

Slave_IO_Running: Yes
Slave_SQL_Running: No
... (생략) ...
Last_Errno: 1062
Last_Error: Could not execute Update_rows_v1 event on table master.테이블명;
            Can't find record in '테이블명', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log binary_log.000245, end_log_pos 42163085

 

- replication 오류가 발생하는 원인을 skip 하는 방법(slave 서버에서 실행)
mysql > stop slave;
mysql > set global sql_slave_skip_counter = 1;
mysql > start slave;
mysql > show slave status \g;   <= 에러 확인 

 

※. skip은 말 그대로 해당 건을 조치 안 하고 넘기다는 말

 

- 완벽한 조치 방법

* 문제가 되는 데이타를 master 정보와 동일하게 동기화

* skip하는 데이터 많은 경우 dump를 떠서 재구축

 

- replication 깨지는 원인
* 테이블이 없거나 데이터가 존재하지 않은 경우
* master 정보와 데이터가 다른 경우
* 데이터가 중복되는 경우

※. 대부분 사용자가 slave서버에서 DML(select제외) 작업하는 경우 발생됨

 

- 계속해서 해당 코드가 발생하거나 모든 코드에 대해서 skip 하는 방법

slave DB에 my.cnf 설정 파일에 아래 내용 기재한 후 DB 재기동하거나 글로벌하는 방법

* 영구적으로 적용

vi /etc/my.cnf

slave_skip_errors=1062,1032 

또는

slave_skip_errors=all

DB 재기동

mysql> show variables like '%skip%';

'DBMS > MySQL&Mariadb' 카테고리의 다른 글

mariadb partition exchange(같은 서버 내 DB(schema)명만 변경)  (0) 2022.06.30
mariadb,mysql partition table 조회  (0) 2022.06.16
procedure, function 목록 조회  (0) 2022.06.16
maxscale 관리  (0) 2022.06.16
index 관리  (0) 2022.06.16

+ Recent posts