티스토리 뷰

상황

  • MariaDB 10.2.13 버전 사용 중
  • 동일 버전의 일반적인 리플리케이션 환경으로 구성됨
  • binlog_format 은 MIXED로 설정되어있음
  • 트리거를 사용하여, 특정 동작을 수행하는데 레코드 삭제 시 트리가 동작하지 않음

원인

  • binlog_format이 STATMENT인 경우 슬레이브에서도 트리거가 동작하는 반면, ROW일 경우에는 트리거가 동작하지 않음
  • binlog_format이 MIXED로 설정되었을 때, 기본적으로 STATEMENT로 동작을 하다가, 안전하지 않은 명령문의 경우에 ROW로 동작하게 됨
  • 소스상에서 안전을 위해서 UPDATE시 LIMIT 구문을 사용하는데, LIMIT 구문이 사용될 때 안전하지 않은 명령문으로 분류되어 해당 세션의 binlog_format이 ROW로 동작하게 됨

해결

  • LIMIT 구문 삭제 후 정상 동작 확인됨

참고

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
페이지
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함