Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Изучение различных методов миграции баз данных MySQL из локальных сред в База данных Azure для MySQL является важным для выбора наиболее подходящего подхода для ваших потребностей. В этой статье рассматриваются различные методы миграции, предоставляющие подробный анализ преимуществ и потенциальных проблем каждого метода. Понимая нюансы автономной миграции, онлайн-миграции и гибридных подходов, вы можете принимать обоснованные решения, которые соответствуют целям и техническим требованиям вашей организации. Независимо от того, стремитесь ли вы к минимальному простою, экономичности или простому переходу, это руководство предоставляет вам знания, чтобы выбрать лучший метод миграции и эффективно выполнить его.
Необходимые компоненты
Перенос локальной среды MySQL в База данных Azure для MySQL: планирование
Обзор
Для переноса данных из исходной среды в целевую требуется использовать средства или функции MySQL.
Перед началом проведения следующих этапов важно завершить все этапы оценки и планирования. Принятие решения и собираемые данные зависят от варианта миграции и выбранных средств.
В этом разделе рассматриваются следующие часто используемые средства:
MySQL Workbench
mysqldump
mydumper и myloader
Репликация входных данных (binlog)
MySQL Workbench
MySQL Workbench предоставляет широкие возможности графического пользовательского интерфейса, позволяющие разработчикам и администраторам проектировать и разрабатывать экземпляры MySQL, а также управлять ими.
В последней версии MySQL Workbench реализованы современные функции миграции объектов для перемещения базы данных из исходной среды в целевую.
Импорт и экспорт данных
MySQL Workbench предлагает пользовательский интерфейс на основе мастера для выполнения полного или частичного экспорта и импорта таблиц и объектов базы данных. Пример использования MySQL Workbench см. в статье Перенос базы данных MySQL с помощью импорта и экспорта.
Дамп и восстановление (mysqldump)
mysqldump
обычно является частью установки MySQL. Это клиентская служебная программа, которую можно запускать для создания логических резервных копий, соответствующих набору инструкций SQL, воспроизводимых для перестроения базы данных до точки во времени. mysqldump
не предназначено как быстрое или масштабируемое решение для резервного копирования или переноса больших объемов данных. Производительность выполнения большого набора инструкций INSERT (SQL) может быть низкой из-за дисковых операций ввода-вывода, необходимых для обновления индексов. Однако при сочетании с другими инструментами, которым требуется исходная схема, mysqldump
является отличным инструментом для создания схем базы данных и таблиц. На основе схем можно создать конечную среду целевой зоны.
Программа mysqldump
предоставляет полезные функции на этапе переноса данных. Перед ее запуском необходимо проанализировать и принять во внимание вопросы производительности. См. раздел Вопросы производительности.
mydumper и myloader
В средах с большими базами данных, для которых требуется быстрая миграция, следует использовать mydumper и myloader. Эти средства написаны на языке C++ и применяют многопоточные методы для максимально быстрой отправки данных в целевой экземпляр MySQL. mydumper
и myloader
поддерживают принцип параллелизма и могут ускорить миграцию в 10 или более раз.
Двоичные выпуски инструментов, доступные для общедоступного скачивания, были скомпилированы для Linux. Чтобы запустить их в Windows, необходимо перекомпилировать проекты с открытым исходным кодом. Компиляция исходного кода и создание выпусков не является тривиальной задачей для большинства пользователей.
Репликация входных данных (binlog)
Как и в других системах управления базами данных, MySQL предоставляет функцию репликации журналов, называемую репликацией binlog. Функция репликации binlog
используется для переноса данных и создания реплик чтения.
Репликация binlog подходит для переноса данных в Базу данных Azure MySQL в сценарии миграции по сети. Репликация данных позволяет сократить время простоя, необходимое для внесения окончательных изменений в конечные данные.
Для использования функции репликации binlog
необходимо выполнить ряд требований по настройке.
На главном сервере рекомендуется использовать подсистему InnoDB MySQL. Если вы используете подсистему хранения, отличную от InnoDB, необходимо перенести эти таблицы в InnoDB.
Пользователи миграции должны иметь разрешения на настройку ведения двоичного журнала и создания новых пользователей на главном сервере.
Если на главном сервере включен SSL, убедитесь, что SSL-сертификат ЦС, предоставленный для домена, был включен в хранимую процедуру mysql.az_replication_change_master. См. следующие примеры и параметр master_ssl_ca.
Убедитесь, что IP-адрес главного сервера был добавлен в правила брандмауэра на сервере-реплике Базы данных Azure для MySQL. Измените правила брандмауэра на портале Azure или с помощью Azure CLI.
Убедитесь, что компьютер, на котором размещен главный сервер, разрешает входящий и исходящий трафик в порте 3306.
Убедитесь, что главный сервер имеет доступный IP-адрес (общедоступный или частный) с исходного объекта к целевым.
Чтобы выполнить миграцию с помощью репликации, ознакомьтесь со сведениями в статье Настройка репликации входных данных в Базе данных Azure для MySQL.
Метод репликации binlog
предъявляет высокие требования к ЦП и дополнительному хранилищу. Пользователи миграции должны протестировать нагрузку на исходную систему во время миграции по сети и определить, является ли она приемлемой.
Azure Database Migration Service (DMS)
Azure Database Migration Service (DMS) — это облачное средство Azure, которое позволяет администраторам отслеживать различные параметры миграции и при необходимости использовать их повторно. DMS работает путем создания проектов миграции с параметрами, которые указывают на различные источники и назначения. DMS поддерживает автономные миграции. Кроме того, она поддерживает локальные рабочие нагрузки данных и облачные рабочие нагрузки, такие как служба реляционной базы данных Amazon (RDS) MySQL.
Хотя служба DMS является веб-средством, для выполнения своих задач она использует функцию репликации binlog
MySQL. Сейчас DMS частично автоматизирует процесс автономной миграции. Для использования DMS требуется создать и применить соответствующую схему в целевом экземпляре Базы данных Azure для MySQL. Схемы можно экспортировать с помощью клиентской служебной программы mysqldump
.
Максимально быстрая миграция с минимальным временем неработоспособности
Существует множество вариантов переноса данных. Решение о том, какой путь следует принять, является функцией набора навыков группы миграции, а также количество простоев базы данных и владельцев приложений. Одни средства поддерживают многопоточную параллельную миграцию данных, тогда как другие инструменты были разработаны для простой миграции только табличных данных.
Самый быстрый и наиболее полный вариант — использовать репликацию binlog
(напрямую с помощью MySQL или через DMS), но он сопряжен с расходами на добавление первичных ключей.
Таблица принятия решений
Существует множество подходов, которые компания WWI может реализовать для переноса рабочих нагрузок MySQL. Ниже приведена таблица возможных вариантов, а также преимущества и недостатки каждого из них.
Цель | Description | Средство | Необходимые компоненты | Достоинства | Недостатки |
---|---|---|---|---|---|
Максимально быстрая миграция | Параллельный подход | mydumper и myloader | Linux | Высокая степень параллелизма | Регулирование целевых объектов |
Миграция через Интернет | Максимально продолжительная поддержка источника в активном состоянии | binlog | нет | Простота | Дополнительные операции по обработке и хранению данных |
Автономная миграция | Максимально продолжительная поддержка источника в активном состоянии | Database Migration Service (DMS) | нет | Повторяемый процесс | Используется только для данных, поддерживает все версии MySQL |
Автономная миграция с широкими возможностями настройки | Выборочный экспорт объектов | mysqldump | нет | Широкие возможности настройки | Руководство |
Частично автоматизированная автономная миграция | Экспорт и импорт на основе пользовательского интерфейса | MySQL Workbench | Скачивание и установка | Частичная автоматизация | Поддерживаются только распространенные наборы переключателей |
Сценарий WWI
В качестве первой переносимой рабочей нагрузки компания WWI выбрала свою базу данных конференций. Причина такого выбора в том, что эта рабочая нагрузка связана с наименьшим риском и наибольшим доступным временем простоя из-за значительного перерыва в ежегодном графике проведения конференций. Кроме того, на основе оценки группы миграции они определили, что они пытались выполнить автономную миграцию с помощью MySQL Workbench.
Контрольный список методов миграции
Убедитесь, что выбран правильный метод, соответствующий целевой и исходной средам.
Убедитесь, что метод отвечает бизнес-требованиям.
Всегда проверяйте, поддерживает ли рабочая нагрузка выбираемый метод.