Перенос База данных Azure для MySQL — гибкая база данных сервера с помощью импорта и экспорта

ОБЛАСТЬ ПРИМЕНЕНИЯ: Отдельный сервер Базы данных Azure MySQL Гибкий сервер Базы данных Azure MySQL

Важно!

База данных Azure для MySQL один сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для MySQL гибкого сервера. Дополнительные сведения о миграции на гибкий сервер База данных Azure для MySQL см. в статье "Что происходит с одним сервером База данных Azure для MySQL?"

В этой статье объясняется два распространенных подхода к импорту и экспорту данных в База данных Azure для MySQL гибкий экземпляр сервера с помощью MySQL Workbench.

Подробные и исчерпывающие инструкции по миграции см. в разделе Ресурсы руководств по миграции.

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

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

Прежде чем приступить к переносу базы данных MySQL, сделайте следующее:

Создание базы данных на гибком экземпляре сервера База данных Azure для MySQL

Создайте пустую базу данных на База данных Azure для MySQL гибком экземпляре сервера с помощью MySQL Workbench, Toad или Navicat. База данных может иметь то же имя, что и база данных, которая содержит данные дампа. Вы также можете создать базу данных с другим именем.

Для подключения выполните следующие действия.

  1. В портал Azure найдите сведения о подключении на панели обзора экземпляра База данных Azure для MySQL гибкого сервера.

    Screenshot of the Azure Database for MySQL flexible server instance connection information in the Azure portal.

  2. Добавьте сведения о подключении MySQL Workbench.

    Screenshot of the MySQL Workbench connection string.

Определите необходимость использования методов импорта и экспорта

Совет

Для случаев, в которых требуется выгрузить и восстановить всю базу данных, используйте вместо этого подход дампа и восстановления.

В следующих сценариях следует использовать средства MySQL для импорта и экспорта баз данных в базу данных MySQL в Azure. Для сведений о работе с другими инструментариями перейдите к разделу "Методы миграции" (стр. 22) в руководстве по миграции базы данных MySQL в Azure.

  • При выборочном выборе для импорта из существующей базы данных MySQL в существующую базу данных 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>, произойдет сбой подключения.

Запустите мастера экспорта и импорта данных таблиц в контекстном меню обозревателя объектов

Screenshot of the MySQL Workbench export and import wizard commands on the object browser's context menu.

Мастера для данных таблиц поддерживают операции импорта и экспорта с использованием файлов типа CSV и JSON. В них предусмотрено несколько параметров конфигурации, таких как разделители, выбор столбцов и кодировки. Операции каждого мастера можно выполнять на локальных или удаленно подключенных серверах MySQL. Операция импорта включает сопоставление таблиц, столбцов и типов.

Для доступа к этим мастерам из контекстного меню обозревателя объектов щелкните правой кнопкой мыши таблицу, а затем выберите Мастер экспорта данных таблиц или Мастер импорта данных таблиц.

Мастер экспорта данных таблиц

Для выполнения экспорта таблицы в CSV-файл:

  1. Щелкните правой кнопкой мыши таблицу базы данных, которую необходимо экспортировать.
  2. Выберите Table Data Export Wizard (Мастер экспорта данных таблиц). Выберите столбцы, которые необходимо экспортировать, смещение строки (при необходимости) и количество (при необходимости).
  3. На панели Выбор данных для экспорта нажмите кнопку Далее. Выберите путь к файлу, тип файла CSV или JSON. Также выберите разделитель строк, метод включения строк и разделитель полей.
  4. На странице Выбор расположения выходного файла щелкните Далее.
  5. На панели Экспорт данных нажмите кнопку Далее.

Мастер импорта данных таблиц

Чтобы импортировать таблицу из файла CSV, выполните следующее:

  1. Щелкните правой кнопкой мыши таблицу базы данных, которую необходимо импортировать.
  2. Найдите CSV-файл, который необходимо импортировать, выберите его, а затем щелкните Далее.
  3. Выберите таблицу назначения (новую или имеющуюся), установите или снимите флажок Усечение таблицы перед импортом, затем нажмите Далее.
  4. Выберите кодировку и столбцы, которые необходимо импортировать, и нажмите кнопку Далее.
  5. На панели Импорт данных нажмите кнопку Далее. Мастер импортирует данные.

Запуск мастеров экспорта и импорта данных SQL через панель Навигатора

Используйте мастер для экспорта или импорта данных SQL, созданных в MySQL Workbench или с помощью команды mysqldump. Вы можете получить доступ к мастерам из области Навигатора или выбрать пункт Сервер в главном меню.

Экспорт данных

Screenshot of using the Navigator pane to display the Data Export pane in MySQL Workbench.

Используйте вкладку Экспорт данных для экспорта данных MySQL.

  1. В MySQL Workbench в области Навигатор выберите Экспорт данных.

  2. На панели Экспорт данных выберите каждую из схем, которые необходимо экспортировать.

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

    В качестве альтернативы можно использовать команду Export a Result Set (Экспортировать результирующий набор), чтобы выполнить экспорт конкретного результирующего набора из редактора SQL в другой формат, например CSV, JSON, HTML или XML.

  3. Выберите объекты базы данных, которые необходимо экспортировать, и настройте связанные параметры.

  4. Щелкните Обновить, чтобы загрузить текущие объекты.

  5. При необходимости выберите Дополнительные параметры в правом верхнем углу, чтобы настроить операцию экспорта. Например, можно добавить блокировки таблиц, использовать инструкцию replace вместо insert и заключить идентификаторы в кавычки в виде обратного апострофа.

  6. Щелкните Начать экспорт, чтобы начать процесс экспорта.

Импорт данных

Screenshot of using the Navigator pane to display the Data Import pane in MySQL Workbench.

Вкладку Импорт данных можно использовать для импорта или восстановления данных из операции экспортирования данных или из команды mysqldump.

  1. В MySQL Workbench на панели "Навигатор " выберите "Импорт и восстановление данных".
  2. Выберите папку проекта или автономный файл SQL, затем выберите схему для импорта или нажмите кнопку Создать новую, чтобы определить новую схему.
  3. Щелкните Начать импорт, чтобы начать процесс импорта.

Следующие шаги