Стратегии обновления¶
Существуют различные стратегии, которые следует учитывать при обновлении 8.0 до 8.4.
Обновление «на месте»¶
Обновление на 8.4 не позволяет откатиться. Стратегия обновления «на месте» не рекомендуется, и ее следует использовать только в крайнем случае.
Обновление «на месте» включает в себя завершение работы сервера 8.0 и замену бинарных файлов или пакетов сервера новыми. На этом этапе новую версию сервера можно запустить в существующем каталоге данных. Обратите внимание, что сервер должен быть настроен на медленное завершение работы, т.е. должна быть установлена системная переменная innodb_fast_shutdown=0 перед выключением.
Особенности обновления «на месте»:
- 
Меньше дополнительных затрат на инфраструктуру по сравнению с новой средой, но узлы необходимо тестировать. 
- 
Обновление большого кластера может выполняться постепенно в течение нескольких недель с паузами между обновлениями узла кластера, предназначенных для чтения. 
- 
Требуется аварийное переключение производственного трафика, и для минимального времени простоя необходимо иметь хорошие инструменты высокой доступности. 
Если вы используете XA-транзакции с InnoDB, запуск XA RECOVER перед обновлением проверяет наличие незафиксированных XA-транзакций. Если эта команда возвращает непустой результат, зафиксируйте или откатите XA-транзакции, выполнив команды XA COMMIT или XA ROLLBACK.
Новое окружение с переключением¶
Обновление с помощью нового окружения предполагает создание дублирующей среды с тем же количеством серверов, с теми же характеристиками оборудования и той же операционной системой, что и на текущих производственных узлах.
На новом оборудовании устанавливается целевая версия MySQL. После этого настраивается новое окружение и восстанавливаются производственные данные. Помните, что вы можете использовать утилиту pt-config-diff из пакета Percona Toolkit для сверки конфигураций MySQL.
Затем настраивается репликация из текущего окружения во вновь созданное.
Во время переключения с текущего окружения на новое вся запись в текущее окружение остановливается, и трафик приложения необходимо перенаправить в новый окружение. Переключение можно выполнить с помощью виртуального IP-адреса или вручную перенаправив само приложение. Как только записи будут получены в новой окружении, вы окажетесь в ситуации невозможности возврата, и на этом этапе можно отключить старое окружение.
Особенности обновления с помощью нового окружения:
- 
Этот подход требует дополнительных затрат на инфраструктуру, поскольку необходимо построить совершенно новое окружение. 
- 
Возможность апгрейда одновременно и ОС, и СУБД. 
- 
Позволяет легко обновлять оборудование. 
- 
Требуется только одно окно переключения.