Spec-Zone.ru › MySQL 9.2

19.5.3 Модернизация или понижение версии топологии репликации

При модернизации серверов, участвующих в топологии репликации, необходимо учитывать роль каждого сервера в топологии и обращать внимание на проблемы, специфичные для репликации. Для общей информации и инструкций по модернизации экземпляра MySQL Server см. Главу 3, Модернизация MySQL.

Как описано в разделе 19.5.2 «Совместимость репликации между версиями MySQL», MySQL поддерживает репликацию со старого источника на новый репликатор для комбинаций версий, где поддерживаются модернизации от версии источника до версии репликатора, как описано в разделе 1.3 «Выпуски MySQL: инновации и LTS» и разделе 3.2 «Пути модернизации», но не поддерживает репликацию со источника более поздней версии на репликатор более ранней версии. Репликатор более ранней версии может не иметь необходимых возможностей для обработки транзакций, которые может обрабатывать источник более поздней версии. Поэтому необходимо модернизировать все репликаторы в топологии репликации до целевой версии MySQL Server, прежде чем модернизировать сервер источника до целевой версии. Таким образом, вы никогда не окажетесь в ситуации, когда репликатор более ранней версии пытается обработать транзакции с источника более поздней версии.

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

Проверка серверов перед модернизацией

Возможны трудности с репликацией при репликации со источника более ранней версии, который ещё не был модернизирован, на репликатор более поздней версии, который был модернизирован. Это может произойти, если источник использует инструкции или полагается на поведение, которое больше не поддерживается в более поздней версии, установленной на репликаторе. Вы можете использовать утилиту проверки модернизации MySQL Shell util.checkForServerUpgrade() для проверки экземпляров сервера MySQL 8.0 на предмет модернизации до версии MySQL 8.4. Эта утилита определяет конфигурацию и сохранённые данные, которые, как известно, могут вызвать проблемы при модернизации, включая функции и поведение, которые больше недоступны в более поздней версии. См. для получения информации об утилите проверки модернизации.

Стандартная процедура модернизации

Для модернизации топологии репликации следуйте инструкциям в Главе 3, Модернизация MySQL для каждого отдельного экземпляра MySQL Server, используя следующую общую процедуру:

  1. Сначала модернизируйте репликаторы. На каждом экземпляре репликатора:

    • Выполните предварительные проверки и шаги, описанные в разделе 3.6 «Подготовка установки к модернизации».

    • Остановите MySQL Server.

    • Модернизируйте двоичные файлы или пакеты MySQL Server.

    • Запустите MySQL Server.

    • MySQL Server выполняет всю процедуру модернизации MySQL автоматически, отключая двоичное протоколирование во время модернизации.

    • Перезапустите репликацию, используя START REPLICA.

  2. Если существуют несколько уровней репликаторов (репликаторы-репликаторы), начните модернизацию репликаторов, удалённых от источника, выполняя модернизацию снизу вверх.

  3. После модернизации всех репликаторов и оставления только источника, выполните переключение на одного из репликаторов. Другими словами, остановите обновления клиентов на источнике, подождите, пока хотя бы один репликатор применит все изменения, переконфигурируйте топологию репликации так, чтобы репликатор стал источником, а источник был исключён из топологии репликации. Модернизируйте старый источник в соответствии с процедурой для одного сервера, а затем повторно включите его в топологию.

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

Процедура поэтапного понижения версии
  1. Остановите обновления.

  2. Подождите, пока репликаторы получат все обновления. Нет необходимости ждать, пока они применят все изменения. Если они не применили все изменения, оставьте их приложение работающим, чтобы они могли обрабатывать полученные транзакции в фоновом режиме.

  3. Понизьте версию сервера источника, следуя инструкциям для понижения версии одного сервера.

  4. Вставьте сервер источника с пониженной версией обратно в топологию.

  5. Разрешите обновления.

  6. Подождите, пока все репликаторы применят все оставшиеся транзакции с предыдущего основного сервера.

  7. Для каждого репликатора выведите репликатор из топологии, подождите, пока он применит весь свой журнал реле, понизьте его версию, следуя инструкциям для понижения версии одного сервера, и повторно включите его в топологию. Если есть несколько уровней репликаторов (репликаторы-репликаторы), то понижайте версию сверху вниз, начиная с репликаторов, ближайших к серверу источника.

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

Spec-Zone.ru

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