Loading...
MySQL 9.5 Reference Manual 9.5의 19.5.2 Replication Compatibility Between MySQL Versions의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL은 Section 1.3, “MySQL Releases: Innovation and LTS” 및 Section 3.2, “Upgrade Paths”에 설명된 것처럼, 소스 버전에서 레플리카 버전으로의 업그레이드를 지원하는 버전 조합에 대해, 더 오래된 소스에서 더 새로운 레플리카로의 복제를 지원합니다. 그러나 소스가 레플리카에서 사용 중인 MySQL 버전에서 더 이상 지원되지 않는 구문을 사용하거나, 그러한 동작에 의존하는 경우, 더 오래된 소스에서 더 새로운 레플리카로 복제를 수행할 때 어려움이 발생할 수 있습니다.
여러 소스가 포함된 복제 구성에서, 사용되는 소스 또는 레플리카 MySQL 서버의 수와 관계없이, 두 개를 초과하는 MySQL Server 버전 사용은 지원되지 않습니다. 예를 들어, 체인 또는 순환 복제 구성을 사용하는 경우, MySQL X.Y.1, MySQL X.Y.2, MySQL X.Y.3를 동시에 사용할 수는 없지만, 이들 릴리스 중 어떤 두 개는 함께 사용할 수 있습니다.
중요
특정 MySQL 릴리스 시리즈 내에서는, 사용할 수 있는 최신 릴리스를 사용하는 것을 강력히 권장합니다. 이는 복제(및 기타) 기능이 지속적으로 개선되기 때문입니다. 또한 MySQL 릴리스 시리즈의 초기 릴리스를 사용하는 소스와 레플리카는, 해당 릴리스 시리즈에 대해 GA(프로덕션) 릴리스가 제공되는 시점에 GA 릴리스로 업그레이드할 것을 권장합니다.
서버 버전은, 해당 트랜잭션을 처음 커밋한 서버에 대해
(original_server_version), 그리고 복제 토폴로지에서 현재 서버의 직접적인 소스인 서버에 대해
(immediate_server_version), 각 트랜잭션마다 바이너리 로그에 기록됩니다.
더 새로운 소스에서 더 오래된 레플리카로의 복제는 가능할 수도 있지만, 일반적으로는 지원되지 않습니다. 이는 여러 가지 요인 때문입니다:
Binary log 포맷 변경.
Binary log 포맷은 메이저 릴리스 간에 변경될 수 있습니다. 하위 호환성을 유지하려고 노력하지만, 항상 가능한 것은 아닙니다. 또한 소스에서 binary log 트랜잭션 압축과 같이, 더 오래된 레플리카에서 이해할 수 없는 선택적 기능을 활성화했을 수도 있습니다. 이 경우 생성되는 압축된 트랜잭션 페이로드는 MySQL 8.0.20 이전 릴리스의 레플리카에서는 읽을 수 없습니다.
이는 복제 서버를 업그레이드하는 데도 중대한 영향을 미칩니다. 더 많은 정보는 Section 19.5.3, “Upgrading or Downgrading a Replication Topology”를 참조하십시오.
SQL 비호환성.
복제해야 할 구문이 소스에는 존재하지만 레플리카에는 존재하지 않는 SQL 기능을 사용하는 경우, 구문 기반 복제를 사용해 더 새로운 소스에서 더 오래된 레플리카로 복제할 수 없습니다.
그러나 소스와 레플리카가 모두 행 기반 복제를 지원하고, 복제해야 할 데이터 정의 구문 중에 레플리카에서 지원되지 않는 소스의 SQL 기능에 의존하는 것이 없다면, 소스에서 실행된 DDL이 레플리카에서 지원되지 않더라도, 데이터 변경 구문의 효과를 행 기반 복제를 사용해 복제할 수 있습니다.
행 기반 복제에 대한 더 많은 정보는 Section 19.2.1, “Replication Formats”를 참조하십시오.
잠재적인 복제 문제에 대한 자세한 내용은 Section 19.5.1, “Replication Features and Issues”를 참조하십시오.
19.5.1 Replication Features and Issues
19.5.3 Upgrading or Downgrading a Replication Topology