Поделиться через


Учебник. Перенос MySQL в Базу данных Azure для MySQL в автономном режиме с помощью DMS

Azure Database Migration Service можно использовать для выполнения простой миграции из внешнего экземпляра MySQL в База данных Azure для MySQL с высокой скоростью миграции данных. В этом учебнике описано, как выполнить миграцию примера базы данных из локального экземпляра MySQL 5.7 в Базу данных Azure для MySQL (версии 5.7) с помощью автономной миграции в Azure Database Migration Service. Хотя в статьях предполагается, что источник является экземпляром базы данных MySQL и целевым объектом для База данных Azure для MySQL, его можно использовать для миграции с одного База данных Azure для MySQL на другой, просто изменив имя и учетные данные исходного сервера. Кроме того, поддерживается миграция с серверов MySQL более ранних версий (версия 5.6 и выше) в более поздние.

Примечание.

Версию процесса миграции на основе скриптов PowerShell см. в статье Автономная миграция в Базу данных Azure для MySQL с поддержкой скриптов.

Служба реляционной базы данных Amazon (RDS) для MySQL и Amazon Aurora (на основе MySQL) также поддерживаются в качестве источников для миграции.

В этом руководстве описано следующее:

  • Создайте экземпляр DMS.
  • Создайте проект миграции MySQL в DMS.
  • Перенос схемы MySQL с помощью DMS.
  • выполнение миграции.
  • Мониторинг миграции.

Необходимые компоненты

Для работы с этим руководством вам потребуется следующее:

  • Подготовьте учетную запись Azure с активной подпиской. Создайте учетную запись бесплатно .

  • У вас должна быть локальная база данных MySQL с версией 5.7. Если ее нет, скачайте и установите MySQL Community Edition версии 5.7.

  • Создайте виртуальную сеть Microsoft Azure для Azure Database Migration Service с помощью модели развертывания Azure Resource Manager, которая обеспечивает подключение "сеть — сеть" к локальным исходным серверам с помощью ExpressRoute или VPN. Дополнительные сведения см. в статье Документация по виртуальной сети, где особое внимание стоит уделить кратким руководствам с пошаговыми инструкциями.

    Если вы используете ExpressRoute с пиринговым подключением к сети, управляемой Майкрософт, во время настройки виртуальной сети добавьте в подсеть, в которой будет подготовлена служба, следующие конечные точки:

    • Целевая конечная точка базы данных (например, конечная точка SQL, конечная точка Azure Cosmos DB и т. д.)
    • конечную точку службы хранилища;
    • конечную точку служебной шины.

    Такая конфигурация вызвана тем, что у Azure Database Migration Service нет подключения к Интернету.

  • Убедитесь, что правила группы безопасности сети для виртуальной сети не блокируют исходящий порт 443 ServiceTag для Служебной шины, службы хранилища и Azure Monitor. См. дополнительные сведения о фильтрации трафика, предназначенного для виртуальной сети, с помощью групп безопасности сети.

  • Откройте брандмауэр Windows, чтобы разрешить подключения из виртуальной сети для Azure Database Migration Service для доступа к исходному серверу MySQL Server. По умолчанию это TCP-порт 3306.

  • При использовании устройства брандмауэра перед исходными базами данных может потребоваться добавить правила брандмауэра, чтобы разрешить подключения от виртуальная сеть для Azure Database Migration Service для доступа к исходным базам данных для миграции.

  • Создайте правило брандмауэра уровня сервера или настройте конечные точки службы виртуальной сети для целевой Базы данных Azure для MySQL, чтобы предоставить виртуальной сети службы Azure Database Migration Service доступ к целевым базам данных.

  • Исходный экземпляр MySQL должен находиться в поддерживаемой версии MySQL Community Edition. Чтобы определить версию экземпляра MySQL, в служебной программе MySQL или MySQL Workbench выполните следующую команду:

    SELECT @@VERSION;
    
  • База данных Azure для MySQL поддерживает только таблицы InnoDB. Чтобы преобразовать таблицы MyISAM в InnoDB, ознакомьтесь со сведениями на странице о преобразовании таблиц.

  • Пользователь должен иметь права доступа для чтения данных в базе данных — источнике.

  • Для успешной миграции схемы пользователь на исходном сервере, выполняющий миграцию, требует следующих привилегий:

Размер целевого экземпляра База данных Azure для MySQL

Чтобы подготовить целевой сервер БД Azure для MySQL для ускорения загрузки данных с помощью Azure Database Migration Service, рекомендуется использовать приведенные ниже параметры сервера и изменить конфигурацию следующим образом.

  • max_allowed_packet — задайте значение 1073741824 (т. е. 1 ГБ), чтобы предотвратить проблемы с подключением из-за длинных строк.

  • slow_query_log — установите значение OFF, чтобы отключить журнал запросов с задержкой. Это позволит избежать накладных расходов, вызванных ведением журнала запросов с задержкой при загрузке данных.

  • query_store_capture_mode — задайте значение NONE, чтобы отключить хранилище запросов. Это позволит устранить издержки, вызванные операциями выборки в хранилище запросов.

  • innodb_buffer_pool_size — Innodb_buffer_pool_size можно увеличить только путем увеличения масштаба вычислений для сервера базы данных Azure для MySQL. В разделе "Ценовая категория общего назначения" на портале увеличьте категорию сервера до 64 виртуальных ядер общего назначения на время миграции, чтобы увеличить значение innodb_buffer_pool_size.

  • innodb_io_capacity и innodb_io_capacity_max — измените значение на 9000 в параметрах сервера на портале Azure, чтобы улучшить использование операций ввода-вывода для оптимизации скорости миграции.

  • innodb_write_io_threads и innodb_write_io_threads — измените значение на 4 в параметрах сервера на портале Azure, чтобы повысить скорость миграции.

  • Масштабирование уровня хранилища — число операций ввода-вывода в секунду для сервера базы данных Azure для MySQL увеличиваются с увеличением уровня хранилища.

    • В режиме развертывания с одним сервером для ускорения загрузки рекомендуется повысить уровень хранилища, чтобы увеличить число выделяемых операций ввода-вывода в секунду.
    • В варианте развертывания "Гибкий сервер" рекомендуется масштабировать (увеличивать или уменьшать) операции ввода-вывода в секунду независимо от размера хранилища.
    • Размер хранилища можно масштабировать только вверх, а не вниз.
  • Выберите размер вычислительных ресурсов и уровень вычислений для целевого гибкого сервера на основе ценовой категории исходного отдельного сервера и виртуальных ядер на основе подробных сведений в следующей таблице.

    Отдельный сервер: ценовая Отдельный сервер: виртуальные ядра Гибкий сервер: объем вычислительных ресурсов Гибкий сервер: уровень вычислительных ресурсов
    Базовый 1 1 Общего назначения Standard_D16ds_v4
    Базовый 1 2 Общего назначения Standard_D16ds_v4
    Общего назначения 1 4 Общего назначения Standard_D16ds_v4
    Общего назначения 1 8 Общего назначения Standard_D16ds_v4
    Общее назначение 16 Общего назначения Standard_D16ds_v4
    Общее назначение 32 Общего назначения Standard_D32ds_v4
    Общее назначение 64 Общего назначения Standard_D64ds_v4
    С оптимизацией для операций в памяти 4 Критически важный для бизнеса Standard_E4ds_v4
    С оптимизацией для операций в памяти 8 Критически важный для бизнеса Standard_E8ds_v4
    С оптимизацией для операций в памяти 16 Критически важный для бизнеса Standard_E16ds_v4
    С оптимизацией для операций в памяти 32 Критически важный для бизнеса Standard_E32ds_v4

    1 Для миграции выберите вычислительные ресурсы общего назначения 16 виртуальных ядер для целевого гибкого сервера для ускорения миграции. Вернитесь к желаемому объему вычислительных ресурсов для целевого сервера после завершения миграции, следуя рекомендациям в разделе "Выполнение действий после миграции" далее в этой статье.

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

Настройка DMS

После развертывания и настройки целевого гибкого сервера необходимо настроить DMS для переноса одного сервера на гибкий сервер.

Регистрация поставщика ресурсов

Чтобы зарегистрировать поставщика ресурсов Microsoft.DataMigration, выполните следующие действия.

  1. Перед созданием первого экземпляра DMS войдите в портал Azure, а затем найдите и выберите подписки.

    Снимок экрана: выбор подписок из Azure Marketplace.

  2. Выберите подписку, которую вы хотите использовать для создания экземпляра DMS, а затем выберите поставщиков ресурсов.

    Снимок экрана: выбор поставщика ресурсов.

  3. Найдите термин "Миграция", а затем для Microsoft.DataMigration выберите "Зарегистрировать".

    Снимок экрана: регистрация поставщика ресурсов.

Создание экземпляра Database Migration Service

  1. В портал Azure выберите +Создать ресурс, найдите Azure Database Migration Service и выберите Azure Database Migration Service в раскрывающемся списке.

    Снимок экрана: Azure Marketplace.

  2. На экране Azure Database Migration Service выберите Создать.

    Снимок экрана: создание экземпляра Azure Database Migration Service.

  3. На экране Создание службы миграции укажите имя службы, подписку и новую или существующую группу ресурсов.

  4. Выберите ценовую категорию и перейдите на экран сетей. Возможность автономной миграции доступна только в ценовой категории "Премиум".

    Дополнительные сведения о ценовых категориях и затратах см. на странице с описанием цен.

    Снимок экрана: настройка базовых параметров Azure Database Migration Service.

  5. Выберите существующую виртуальную сеть из списка или укажите имя создаваемой виртуальной сети. Перейдите на экран "Проверка и создание". При необходимости можно добавить теги в службу с помощью экрана тегов.

    Виртуальная сеть предоставляет Azure Database Migration Service доступ к исходному экземпляру SQL Server и целевому экземпляру Базы данных SQL Azure.

    Снимок экрана: настройка параметров сети Azure Database Migration Service.

    См. статью Краткое руководство. Создание виртуальной сети с помощью портала Azure.

  6. Проверьте конфигурации и нажмите Создать, чтобы создать службу.

    Снимок экрана: создание Azure Database Migration Service.

Создание проекта миграции

После создания службы найдите ее на портале Azure, откройте и создайте проект миграции.

  1. На портале Azure щелкните Все службы, выполните поиск по запросу "Azure Database Migration Service" и выберите Azure Database Migration Services (Службы Azure Database Migration Service).

    Снимок экрана: поиск всех экземпляров Azure Database Migration Service.

  2. Выберите экземпляр службы миграции в результатах поиска и щелкните Создать проект миграции.

    Снимок экрана: создание проекта миграции.

  3. На экране Создать проект миграции укажите имя проекта, в поле Тип исходного сервера выберите MySQL, в поле Тип целевого сервера выберите База данных Azure для MySQL, а в поле Тип действия миграции выберите Перенос данных. Нажмите кнопку Создать и запустить действие.

    Снимок экрана: создание проекта Database Migration Service.

    Кроме того, вы можете выбрать Создать только проект, чтобы создать проект миграции для отложенного выполнения.

Настройка проекта миграции

  1. На экране "Выбор источника" укажите сведения о подключении для исходного экземпляра MySQL и нажмите кнопку "Далее: выбрать целевой объект">>

    Снимок экрана: экран добавления сведений о источнике.

  2. На экране "Выбор целевого объекта" укажите сведения о подключении для целевого экземпляра База данных Azure для MySQL и нажмите кнопку "Далее: выбор баз данных".>>

    Снимок экрана: экран добавления сведений о целевом объекте.

  3. На экране "Выбор баз данных" сопоставляйте источник и целевую базу данных для миграции и нажмите кнопку "Далее: настройка параметров миграции>>". Вы можете выбрать вариант Сделать исходный сервер доступным только для чтения, но учтите, что это параметр влияет на весь сервер. Если этот флажок установлен, только для чтения будет доступен весь сервер, а не выбранные базы данных.

    Если в целевой базе данных содержится база данных с тем же именем, что у исходной базы данных, Azure Database Migration Service по умолчанию выберет целевую базу данных.

    Снимок экрана: экран

  4. На экране "Настройка параметров миграции" выберите таблицы, которые будут частью миграции, и нажмите кнопку "Далее: сводка>>". Если целевые таблицы имеют данные, они не выбраны по умолчанию, но вы можете явно выбрать их, и они будут усечены перед началом миграции.

    Снимок экрана: экран выбора таблиц.

  5. На экране Сводка в поле Имя действия введите имя действия миграции, а затем проверьте соответствие сведениям о целевом и исходном сервере, которые вы указали ранее.

    Снимок экрана: сводка по проекту миграции.

  6. Выберите Начать миграцию. Появится окно действия миграции и в поле Состояние будет указано Инициализация. Состояние изменится на Выполняется, когда начнется перенос таблиц.

    Снимок экрана: запуск миграции.

Отслеживайте ход миграции.

  1. На экране действия миграции выберите Обновить, чтобы обновить отображение и просмотреть ход выполнения по количеству перенесенных таблиц.

  2. Вы можете выбрать имя базы данных на экране действия, чтобы просмотреть состояние каждой таблицы по мере их переноса. Щелкните Обновить, чтобы обновить отображение.

    Снимок экрана: миграция мониторинга.

Выполнение переноса

  1. На экране действия миграции нажмите кнопку Обновить, чтобы обновить содержимое экрана, пока состояние миграции не поменяется на Завершено.

    Снимок экрана: завершение миграции.

Действия после миграции

Прямая автономная миграция зависит от приложения, и мы не будем рассматривать ее здесь, но обсудим следующие действия, выполняемые после миграции:

  1. Создайте имена входа, роли и разрешения в соответствии с требованиями приложения.
  2. Повторно создайте все триггеры в целевой базе данных, извлеченные перед миграцией.
  3. Проверьте работоспособность приложения для целевой базы данных, чтобы подтвердить успешную миграцию.

Очистка ресурсов

Если вы не собираетесь дальше использовать Database Migration Service, можно удалить службу, выполнив следующие действия:

  1. На портале Azure щелкните Все службы, выполните поиск по запросу "Azure Database Migration Service" и выберите Azure Database Migration Services (Службы Azure Database Migration Service).

    Снимок экрана: поиск всех экземпляров DMS.

  2. Выберите экземпляр службы миграции в результатах поиска и щелкните Удалить службу.

    Снимок экрана: удаление службы миграции.

  3. В диалоговом окне подтверждения введите имя службы в текстовом поле TYPE THE DATABASE MIGRATION SERVICE NAME и нажмите кнопку "Удалить".

    Снимок экрана: удаление службы