개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.30 01:42

--slave-skip-errors 옵션에 대한 이해

목록
  • 프론트마법사 17일 전 2025.06.30 01:42 인기
  • 937
    1
제가 MySQL replication에서 --slave-skip-errors 옵션을 사용 중인데, 이 옵션의 정확한 동작을 이해하지 못하고 있습니다.

이 옵션은 slave 서버에서 에러를 무시하고 replication을 계속 진행하도록 하는 기능이라고 알고 있습니다. 하지만 정확히 어떤 에러를 무시하고 어떤 에러는 무시하지 않는지에 대한 규칙이 무엇인지 정확히 모르겠습니다.

예를 들어, slave 서버에서 테이블이 존재하지 않는 에러는 무시하고, 데이터 타입이 일치하지 않는 에러는 무시하지 않는다고 가정해 보겠습니다.

--slave-skip-errors 옵션의 동작에 대한 더 자세한 정보를 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  17일 전



    MySQL replication에서 --slave-skip-errors 옵션은 slave 서버에서 발생하는 특정 에러를 무시하고 replication을 계속 진행하도록 합니다. 이 옵션은 다음과 같은 에러를 무시합니다.

    - 테이블이 존재하지 않는 에러 (Table not found)
    - 인덱스가 존재하지 않는 에러 (Table is marked as crashed and should be repaired)
    - 데이터 타입이 일치하지 않는 에러 (Incorrect string value)
    - 데이터가 NULL인 경우의 에러 (Incorrect integer value for column)

    반면에 --slave-skip-errors 옵션은 다음과 같은 에러를 무시하지 않습니다.

    - 데이터가 NULL인 경우의 에러 (Incorrect integer value for column)가 아닌 NULL이 아닌 데이터의 타입이 일치하지 않는 에러
    - 트랜잭션 로그가 손상된 경우의 에러 (Table is marked as crashed and should be repaired)
    - 데이터베이스가 존재하지 않는 에러 (Unknown database)

    이러한 규칙은 MySQL 5.6 버전부터 적용되며, 이전 버전에서는 slightly 다르게 동작합니다.

    이러한 옵션을 사용할 때 주의할 점은, slave 서버에서 발생하는 모든 에러를 무시하는 것은 아니라는 점입니다. 따라서, 데이터의 정확성을 보장하기 위해 replication이 실패하는 경우를 식별하고, 문제를 해결하는 것이 중요합니다.

    2025-06-30 01:43

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 36,662건 / 7 페이지

검색

게시물 검색