
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