1.3.2. MySQL 버전간의 리플리케이션 호환성
MySQL 5.1에서 구현된 바이너리 로그 포맷은 이전 버전에서 사용된 것과는 많은 부분에서 달라졌는데, 특히 문자 셋, LOAD DATA INFILE, 그리고 타임 존을 처리하는 부분이 많이 변경되었다.
일반적인 규칙에 따르면, 마스터와 슬레이브는 반드시 메이저 (major) 번호가 같은 버전을 사용해서 리플리케이션을 설정해야 한다. 다른 메이저 버전 번호를 사용해서 리플리케이션을 설정해야 한다면, 슬레이브는 반드시 마스터 이상의 버전을 사용해야 한다. 예를 들면, 마스터에 4.1.23을 설치하고 슬레이브에는 5.0.24를 설치한다면 리플리케이션을 구현할 수 있다.
MySQL 5.0과 5.1을 사용하는 마스터/슬레이브 서버는, 마스터와 슬레이브가 서로 다른 글로벌 문자 셋 또는 글로벌 타임 존 변수를 사용하더라도 리플리케이션을 구성할 수 있다
리플리케이션 기능은 MySQL 버전이 새롭게 출시될 때마다 개선되기 때문에, 가능하면 최신 버전을 사용해서 리플리케이션을 구성할 것을 권장한다. 또한, 가능하다면 마스터와 슬레이브가 같은 버전을 사용할 것을 권장한다.
Note
마스터가 새로운 포맷의 바이너리 로그를 사용하고 슬레이브는 구형 바이너리 포맷을 사용하는 경우에는 리플리케이션을 구성할 수 없다 (예를 들면, 마스터는 MySQL 5.0을 사용하고 슬레이브는 MySQL 4.1을 사용하는 경우).
위에서 설명한 내용은 프로토콜 레벨의 리플리케이션 호환성에 관련된 것이다. 하지만, SQL 레벨의 호환성 문제도 존재한다. 예를 들면, 복제된 명령문이 5.1에서는 사용 가능하지만 5.0에서는 사용할 수 없는 SQL 기능을 사용한다면, 5.1 마스터는 5.0 슬레이브와 리플리케이션을 구성할 수 없다.