Миграция на сторонний кластер MySQL
Чтобы перенести базу данных, развернутую в кластере Yandex Managed Service for MySQL, на сторонний кластер MySQL:
- Перенесите данные.
- Закройте старую базу данных на запись.
- Переведите нагрузку на сторонний кластер.
Поддерживается миграция между разными версиями: например, можно перенести базы из MySQL версии 5.7 в версию 8. При этом мажорная версия MySQL на стороннем кластере должна быть не ниже версии на кластере Yandex Managed Service for MySQL.
Перед началом работы
Создайте кластер MySQL любой подходящей конфигурации. При этом:
-
Версия MySQL должна быть не ниже чем на кластере-источнике.
Перенос данных с повышением мажорной версии MySQL возможен, но не гарантируется. Подробнее см. в документации MySQL
.Миграция с понижением версии MySQL невозможна
. -
Режим SQL должен быть таким же, как и на кластере-источнике.
Перенос данных
-
Создайте эндпоинты и трансфер:
ВручнуюTerraform-
Создайте эндпоинт для источника:
-
Тип базы данных —
MySQL
. -
Настройки подключения —
Кластер Managed Service for MySQL
.Укажите идентификатор кластера-источника.
-
-
Создайте эндпоинт для приемника:
-
Тип базы данных —
MySQL
. -
Настройки подключения —
Пользовательская инсталляция
.Укажите параметры подключения к кластеру-приемнику.
-
-
Создайте трансфер типа Копирование и репликация, использующий созданные эндпоинты.
-
Если у вас еще нет Terraform, установите его.
-
Получите данные для аутентификации. Вы можете добавить их в переменные окружения или указать далее в файле с настройками провайдера.
-
Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его
. -
Поместите конфигурационный файл в отдельную рабочую директорию и укажите значения параметров. Если данные для аутентификации не были добавлены в переменные окружения, укажите их в конфигурационном файле.
-
Скачайте в ту же рабочую директорию файл конфигурации трансфера и эндпоинтов data-transfer-mmy-mysql.tf
. -
Укажите в файле конфигурации:
-
Проверьте корректность файлов конфигурации Terraform с помощью команды:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
Создайте необходимую инфраструктуру:
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
В указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
.Трансфер активируется автоматически после создания.
-
Важно
Избегайте любых изменений в схеме данных на кластере-источнике и кластере-приемнике во время работы трансфера. Подробнее см. в разделе Работа с базами данных во время трансфера.
-
-
Дождитесь перехода трансфера в статус Реплицируется.
-
Переведите кластер-источник в режим
только чтение
и переключите нагрузку на кластер-приемник. -
На странице мониторинга трансфера дождитесь снижения до нуля характеристики Maximum data transfer delay. Это значит, что в кластер-приемник перенесены все изменения, произошедшие в кластере-источнике после завершения копирования данных.
-
Деактивируйте трансфер и дождитесь его перехода в статус Остановлен.
Подробнее о статусах трансфера см. в разделе Жизненный цикл трансфера.
-
Удалите созданные эндпоинты и трансфер:
ВручнуюTerraformЕсли вы создали эндпоинты и трансфер вручную, то:
Если вы создали эндпоинты и трансфер с помощью Terraform, то:
-
В командной строке перейдите в каталог, в котором расположен актуальный конфигурационный файл Terraform с планом инфраструктуры.
-
Удалите конфигурационный файл
data-transfer-mmy-mysql.tf
. -
Проверьте корректность файлов конфигурации Terraform с помощью команды:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Все ресурсы, которые были описаны в конфигурационном файле
data-transfer-mmy-mysql.tf
, будут удалены. -
-
См. также
Другие способы миграции описаны в документации Yandex Managed Service for MySQL.