제 질문은 리눅스 서버를 사용하는 MySQL의 마스터 - 슬레이브 복제에 관한 것입니다.슬레이브가 삭제 복제를하지 못하게하기
나는 단지 MySQL에서 복제 테스트를하고 있는데, 슬레이브가 delete 문을 복제하지 못하도록하는 것이 가능한지 궁금하다.
슬레이브가 마스터에서 모든 삽입/삭제를 복제한다는 것을 알고 있습니다. 하지만 삽입물을 복제하기를 원합니다.
이것이 가능합니까?
제 질문은 리눅스 서버를 사용하는 MySQL의 마스터 - 슬레이브 복제에 관한 것입니다.슬레이브가 삭제 복제를하지 못하게하기
나는 단지 MySQL에서 복제 테스트를하고 있는데, 슬레이브가 delete 문을 복제하지 못하도록하는 것이 가능한지 궁금하다.
슬레이브가 마스터에서 모든 삽입/삭제를 복제한다는 것을 알고 있습니다. 하지만 삽입물을 복제하기를 원합니다.
이것이 가능합니까?
는 잘 그것은 수행 할 수 있습니다
ok 자동으로 수행되기를 원합니다. 어떻게 접근 방식 2를 구현할 것을 제안합니까? – jeffry
개체를 선택하고 필요에 따라 개체를 변경하십시오! (트리거 생성). –
는 this를 참조하십시오
이 작업을 수행하는 방법은 여러 가지가 있습니다.
SET SQL_LOG_BIN=0;
. 그것이 바이너리 로그에 기록되지 않습니다 그 방법은 삭제를 무시하도록 슬레이브에 BEFORE DELETE 트리거를 구현합니다.
내가 복제하고 싶지 않은 문장에 대해 접근법 # 1을 사용합니다. SUPER 특권이 필요합니다.
ok 자동으로 수행되기를 원합니다. 접근 방식 2를 구현하는 방법을 어떻게 제안합니까? – jeffry
# 2는 불가능합니다. 예외를 throw하지 않고 트리거를 통해 쿼리 내에서 작업을 중지 할 수 없습니다. 그러면 행을 기반으로하는 바이너리 로그 이벤트에 대해 복제를 중지해야하며 슬레이브의 트리거는 실행되지 않습니다. 행 변경과 슬레이브에 대한 트리거 동작이 중복 될 때 마스터에서 트리거 발사로 인해 발생 된 데이터가 슬레이브로 전송됩니다. –
답변을 시도하기 전에 - '업데이트'에 대해 어떻게 생각합니까? –
죄송합니다. 업데이트되지 않습니다. 삽입 및 삭제 만 가능합니다. 질문을 업데이트했습니다. – jeffry