Перенос База данных Azure для MySQL — гибкая база данных сервера с помощью импорта и экспорта
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — отдельный сервер База данных Azure для MySQL — гибкий сервер
Внимание
База данных Azure для MySQL один сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для MySQL гибкого сервера. Дополнительные сведения о миграции на гибкий сервер База данных Azure для MySQL см. в статье "Что происходит с одним сервером База данных Azure для MySQL?"
В этой статье объясняется два распространенных подхода к импорту и экспорту данных в экземпляр гибкого сервера База данных Azure для MySQL с помощью MySQL Workbench.
Подробные и исчерпывающие инструкции по миграции см. в разделе Ресурсы руководств по миграции.
Другие сценарии миграции рассматриваются в руководстве по переносу баз данных.
Необходимые компоненты
Прежде чем приступить к переносу базы данных MySQL, сделайте следующее:
- Создайте экземпляр гибкого сервера База данных Azure для MySQL с помощью портал Azure.
- Скачайте и установите MySQL Workbench или другое стороннее средство MySQL для импорта и экспорта.
Создание базы данных на экземпляре гибкого сервера База данных Azure для MySQL
Создайте пустую базу данных на экземпляре гибкого сервера База данных Azure для MySQL с помощью MySQL Workbench, Toad или Navicat. База данных может иметь то же имя, что и база данных, которая содержит данные дампа. Вы также можете создать базу данных с другим именем.
Для подключения выполните следующие действия.
В портал Azure найдите сведения о подключении на панели обзора экземпляра гибкого сервера База данных Azure для MySQL.
Добавьте сведения о подключении MySQL Workbench.
Определите необходимость использования методов импорта и экспорта
Совет
Для случаев, в которых требуется выгрузить и восстановить всю базу данных, используйте вместо этого подход дампа и восстановления.
В следующих сценариях следует использовать средства MySQL для импорта и экспорта баз данных в базу данных MySQL в Azure. Для сведений о работе с другими инструментариями перейдите к разделу "Методы миграции" (стр. 22) в руководстве по миграции базы данных MySQL в Azure.
- Если необходимо выборочно выбрать несколько таблиц для импорта из существующей базы данных MySQL в базу данных гибкого сервера База данных Azure для MySQL, лучше всего использовать метод импорта и экспорта. Таким образом, можно пропустить все ненужные таблицы в процессе переноса, чтобы сэкономить время и ресурсы. Например, используйте параметр
--include-tables
или--exclude-tables
с mysqlpump и параметр--tables
с mysqldump. - При перемещении объектов, отличных от таблиц, необходимо будет явно создать эти объекты. Включите ограничения (первичный ключ, внешний ключ, индексы), представления, функции, процедуры, триггеры и другие объекты базы данных, которые требуется перенести.
- При перемещении данных из внешних источников данных, отличных от базы данных MySQL, создайте неструктурированные файлы и импортируйте их с помощью команды mysqlimport.
Внимание
Как База данных Azure для MySQL отдельный сервер, так и гибкий сервер База данных Azure для MySQL поддерживают только подсистему хранилища InnoDB. Убедитесь, что все таблицы в базе данных используют подсистему хранилища InnoDB при загрузке данных в экземпляр гибкого сервера База данных Azure для MySQL.
Если база данных источника использует другую подсистему хранилища, преобразуйте ее в подсистему InnoDB перед переносом базы данных. Например, при наличии WordPress или веб-приложения, которое использует ядро MyISAM, сначала преобразуйте таблицы путем переноса данных в таблицы InnoDB. Используйте предложение ENGINE=INNODB
, чтобы задать ядро для создания таблицы, а затем передайте данные в совместимую таблицу перед переносом.
INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns
Рекомендации по повышению производительности импорта и экспорта
Для оптимальной производительности импорта и экспорта данных рекомендуется выполнить следующие действия:
- Создайте кластеризованные индексы и первичные ключи перед загрузкой данных. Загрузите данные в порядке первичных ключей.
- Отложите создание вторичных индексов до завершения загрузки данных.
- Отключите ограничения внешних ключей перед загрузкой данных. Отключение проверки внешнего ключа обеспечивает значительный прирост производительности. Включите ограничения и проверьте данные после загрузки, чтобы обеспечить целостность данных.
- Загружайте данные в параллельном режиме. Не выполняйте слишком много параллельных операций, так как ресурсы при этом могут кончиться. Отслеживайте ресурсы с помощью метрик, доступных на портале Azure.
- Используйте секционированные таблицы, когда это необходимо.
Импорт и экспорт с помощью MySQL Workbench
Существует два способа экспорта и импорта данных в MySQL Workbench: из контекстного меню обозревателя объектов или из области навигатора. Каждый из них предназначен для своей цели.
Примечание.
Если вы добавляете подключение к одному серверу База данных Azure для MySQL или гибкому серверу База данных Azure для MySQL в MySQL Workbench, сделайте следующее:
- Для одного сервера База данных Azure для MySQL убедитесь, что имя пользователя находится в формате <username@servername>.
- Для База данных Azure для MySQL гибкого сервера используйте <только имя пользователя>. Если для подключения используется <username@servername>, произойдет сбой подключения.
Запустите мастера экспорта и импорта данных таблиц в контекстном меню обозревателя объектов
Мастера для данных таблиц поддерживают операции импорта и экспорта с использованием файлов типа CSV и JSON. В них предусмотрено несколько параметров конфигурации, таких как разделители, выбор столбцов и кодировки. Операции каждого мастера можно выполнять на локальных или удаленно подключенных серверах MySQL. Операция импорта включает сопоставление таблиц, столбцов и типов.
Для доступа к этим мастерам из контекстного меню обозревателя объектов щелкните правой кнопкой мыши таблицу, а затем выберите Мастер экспорта данных таблиц или Мастер импорта данных таблиц.
Мастер экспорта данных таблиц
Для выполнения экспорта таблицы в CSV-файл:
- Щелкните правой кнопкой мыши таблицу базы данных, которую необходимо экспортировать.
- Выберите Table Data Export Wizard (Мастер экспорта данных таблиц). Выберите столбцы, которые необходимо экспортировать, смещение строки (при необходимости) и количество (при необходимости).
- На панели Выбор данных для экспорта нажмите кнопку Далее. Выберите путь к файлу, тип файла CSV или JSON. Также выберите разделитель строк, метод включения строк и разделитель полей.
- На странице Выбор расположения выходного файла щелкните Далее.
- На панели Экспорт данных нажмите кнопку Далее.
Мастер импорта данных таблиц
Чтобы импортировать таблицу из файла CSV, выполните следующее:
- Щелкните правой кнопкой мыши таблицу базы данных, которую необходимо импортировать.
- Найдите CSV-файл, который необходимо импортировать, выберите его, а затем щелкните Далее.
- Выберите таблицу назначения (новую или имеющуюся), установите или снимите флажок Усечение таблицы перед импортом, затем нажмите Далее.
- Выберите кодировку и столбцы, которые необходимо импортировать, и нажмите кнопку Далее.
- На панели Импорт данных нажмите кнопку Далее. Мастер импортирует данные.
Запуск мастеров экспорта и импорта данных SQL через панель Навигатора
Используйте мастер для экспорта или импорта данных SQL, созданных в MySQL Workbench или с помощью команды mysqldump. Вы можете получить доступ к мастерам из области Навигатора или выбрать пункт Сервер в главном меню.
Экспорт данных
Используйте вкладку Экспорт данных для экспорта данных MySQL.
В MySQL Workbench в области Навигатор выберите Экспорт данных.
На панели Экспорт данных выберите каждую из схем, которые необходимо экспортировать.
Для каждой схемы можно выбрать определенные объекты схемы или таблицы для экспорта. Параметры конфигурации включают экспорт в папку проекта или в самодостаточный файл SQL, выполнение дампа сохраненных процедур и событий или пропуск данных таблицы.
В качестве альтернативы можно использовать команду Export a Result Set (Экспортировать результирующий набор), чтобы выполнить экспорт конкретного результирующего набора из редактора SQL в другой формат, например CSV, JSON, HTML или XML.
Выберите объекты базы данных, которые необходимо экспортировать, и настройте связанные параметры.
Щелкните Обновить, чтобы загрузить текущие объекты.
При необходимости выберите Дополнительные параметры в правом верхнем углу, чтобы настроить операцию экспорта. Например, можно добавить блокировки таблиц, использовать инструкцию
replace
вместоinsert
и заключить идентификаторы в кавычки в виде обратного апострофа.Щелкните Начать экспорт, чтобы начать процесс экспорта.
Импорт данных
Вкладку Импорт данных можно использовать для импорта или восстановления данных из операции экспортирования данных или из команды mysqldump.
- В MySQL Workbench на панели "Навигатор " выберите "Импорт и восстановление данных".
- Выберите папку проекта или автономный файл SQL, затем выберите схему для импорта или нажмите кнопку Создать новую, чтобы определить новую схему.
- Щелкните Начать импорт, чтобы начать процесс импорта.
Следующие шаги
- Другой подход к миграции см. в статье "Миграция базы данных MySQL на База данных Azure для MySQL гибкий сервер с помощью дампа и восстановления".
- Дополнительные сведения о переносе баз данных на База данных Azure для MySQL гибкий сервер см. в руководстве по миграции баз данных.