Spec-Zone.ru › MySQL 8.4

19.5.2 Совместимость репликации между версиями MySQL

MySQL поддерживает репликацию со старого источника на более новую реплику для комбинаций версий, где мы поддерживаем апгрейд с версии источника до версии реплики, как описано в разделе 1.3 «MySQL Releases: Innovation and LTS» и разделе 3.2 «Upgrade Paths». Однако, вы можете столкнуться с трудностями при репликации со старого источника на более новую реплику, если источник использует запросы или полагается на поведение, больше не поддерживаемое в версии MySQL, используемой на реплике.

Использование более двух версий MySQL Server не поддерживается в конфигурациях репликации, включающих несколько источников, независимо от количества серверов MySQL источника или реплики. Например, если вы используете конфигурацию цепочечной или циклической репликации, вы не можете одновременно использовать MySQL X.Y.1, MySQL X.Y.2 и MySQL X.Y.3, хотя вы можете использовать любые две из этих версий вместе.

Важно

Настоятельно рекомендуется использовать самую последнюю доступную версию в рамках данной серии релизов MySQL, поскольку возможности репликации (и другие) постоянно улучшаются. Также рекомендуется обновлять источники и реплики, использующие ранние релизы серии релизов MySQL до релизов GA (производственные), когда последние станут доступными для данной серии релизов.

Версия сервера записывается в бинарном журнале для каждой транзакции для сервера, который первоначально выполнил транзакцию (original_server_version), и для сервера, который является непосредственным источником текущего сервера в топологии репликации (immediate_server_version).

Репликация с более новых источников на более старые реплики может быть возможна, но обычно не поддерживается. Это обусловлено рядом факторов:

  • Изменения формата бинарного журнала. Формат бинарного журнала может изменяться между основными версиями. Хотя мы пытаемся поддерживать обратную совместимость, это не всегда возможно. Источник также может иметь включенные необязательные функции, которые не понимаются более старыми репликами, например, сжатие транзакций бинарного журнала, где полученные сжатые данные транзакции не могут быть прочитаны репликой из выпуска, предшествующего MySQL 8.0.20.

    Это также имеет существенные последствия для обновления серверов репликации; см. раздел 19.5.3 «Обновление или понижение топологии репликации» для получения дополнительной информации.

  • Несовместимости SQL. Вы не можете выполнить репликацию с более нового источника на более старую реплику с помощью репликации на основе запросов, если запросы, подлежащие репликации, используют функции SQL, доступные на источнике, но недоступные на реплике.

    Однако, если и источник, и реплика поддерживают репликацию на основе строк и нет заявлений определения данных, подлежащих репликации, которые зависят от функций SQL, найденных на источнике, но отсутствующих на реплике, вы можете использовать репликацию на основе строк для репликации эффектов заявлений изменения данных, даже если DDL, выполняемые на источнике, не поддерживаются на реплике.

    Дополнительную информацию о репликации на основе строк см. в разделе 19.2.1 «Форматы репликации».

Дополнительную информацию о потенциальных проблемах с репликацией см. в разделе 19.5.1 «Возможности и проблемы репликации».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/replication-compatibility.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API