Как экспортировать базу данных mysql workbench
Перейти к содержимому

Как экспортировать базу данных mysql workbench

Перенос базы данных 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.

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

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

Screenshot of the MySQL Workbench connection string.

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

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

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

  • Если вам нужно выбрать несколько таблиц для импорта из имеющейся базы данных MySQL в базу данных Azure, лучше всего использовать метод импорта и экспорта. Таким образом, можно пропустить все ненужные таблицы в процессе переноса, чтобы сэкономить время и ресурсы. Например, используйте параметр —include-tables или —exclude-tables с mysqlpump и параметр —tables с mysqldump.
  • При перемещении объектов, отличных от таблиц, необходимо будет явно создать эти объекты. Включите ограничения (первичный ключ, внешний ключ, индексы), представления, функции, процедуры, триггеры и другие объекты базы данных, которые требуется перенести.
  • При перемещении данных из внешних источников данных, отличных от базы данных MySQL, создайте неструктурированные файлы и импортируйте их с помощью команды mysqlimport.

Как Отдельный сервер, так и Гибкий сервер поддерживают только подсистему хранилища InnoDB. Убедитесь, что все таблицы в базе данных используют подсистему хранилища InnoDB при загрузке данных в базу данных Azure для MySQL.

Если база данных источника использует другую подсистему хранилища, преобразуйте ее в подсистему InnoDB перед переносом базы данных. Например, при наличии WordPress или веб-приложения, которое использует ядро MyISAM, сначала преобразуйте таблицы путем переноса данных в таблицы InnoDB. Используйте предложение ENGINE=INNODB , чтобы задать ядро для создания таблицы, а затем передайте данные в совместимую таблицу перед переносом.

Рекомендации по повышению производительности импорта и экспорта

Для оптимальной производительности импорта и экспорта данных рекомендуется выполнить следующие действия:

  • Создайте кластеризованные индексы и первичные ключи перед загрузкой данных. Загрузите данные в порядке первичных ключей.
  • Отложите создание вторичных индексов до завершения загрузки данных.
  • Отключите ограничения внешних ключей перед загрузкой данных. Отключение проверки внешнего ключа обеспечивает значительный прирост производительности. Включите ограничения и проверьте данные после загрузки, чтобы обеспечить целостность данных.
  • Загружайте данные в параллельном режиме. Не выполняйте слишком много параллельных операций, так как ресурсы при этом могут кончиться. Отслеживайте ресурсы с помощью метрик, доступных на портале Azure.
  • Используйте секционированные таблицы, когда это необходимо.

Импорт и экспорт с помощью MySQL Workbench

Существует два способа экспорта и импорта данных в MySQL Workbench: из контекстного меню обозревателя объектов или из области навигатора. Каждый из них предназначен для своей цели.

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

  • Если используется Отдельный сервер MySQL, убедитесь, что имя пользователя имеет формат <username@servername>.
  • Для Гибкого сервера MySQL следует использовать только <username>. Если для подключения используется <username@servername>, произойдет сбой подключения.

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

Screenshot of the MySQL Workbench export and import wizard commands on the object browser

Мастера для данных таблиц поддерживают операции импорта и экспорта с использованием файлов типа 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.

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

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

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

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

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

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

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

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

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

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

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

MySQL.Workkbench. Дампы.Данные.Модели

В данной статье разбираюсь с WorkBench. Вот основные задачи, которые хочу записать в данной статье.

Я не буду углубляться в каждый из разделов. Цель статьи – понять на принципиальном уровне разницу между моделью данных и данными, научиться изменять / добавлять данные из WorkBench, а также научиться экспортировать / импортировать базы данных!

Экспорт/Импорт дампа из WorkBench

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

Экспорт дампа из WorkBench

Открываем MySQL и создаем, либо используем уже готовую instance

2

Открываем instance и сразу же обращаем внимание на DataExport

3

Далее настраиваем то, что и как нам нужно экспортировать – только данные, только модель или то и другое вместе, в какое место экспортировать и так далее… Всё интуитивно понятно.

4

Если переносим на другой комп, на котором нет этой БД, то обязательно Include Create Schema

Далее, экспортируем и получаем такую вот картину

5

В принципе всё, на рабочем столе появляется дамп

6

Импорт дампа в WorkBench

7

После этого жмем на Refresh и смотрим, что произошло с нашей базой данных

8

Вот в принципе и всё! Остальное – самое важное – детали, но это уже отработается на практике!

Изменение данных в WorkBench

Когда учился сам – не сразу понял разницу между данными в моделях и данными в LocalInstance.Для того, чтобы изменить данные в реальной БД, нужно пользоваться LocalInstance.

Вкладка Inserts в модели данных служит лишь для добавления новых записей! В LocalInstance же можно как добавлять новые записи так и изменять их. Примерно такая разница.

Добавление / Изменение данных через LocalInstance

Допустим нам нужно в ручную в 1001 строке в такой-то таблице поправить одно или несколько полей. Для этого открываем LocalInstance в WorkBench – раскрываем нашу базу данных, выбираем таблицу и нажимаем на

9

После чего видим следующее

10

Workbench сам нам составил запрос, сам показал данные, которые мы можем изменить. После изменения, чтобы они сохранились в БД, нужно нажать на Apply! Проверим это – изменим какие нибудь данные и нажмем Apply.

11

Как видно, WorkBench сам составит инструкцию UPDATE!

Вот какой результат у нас получается

19

Добавление данных через Inserts в модели данных

DataBase > ReverseEngeneering >Несколько раз Next и получаем такую вот диаграмму

12

13

И переходим на вкладку Inserts

14

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

15

Далее

После чего, делаем DataBase > Forward Engeneering и также, жмем несколько раз Next, единственное, что на странице выбора опций, нужно выбрать

16

Далее, выполняем скрипт и возвращаемся на LocalInstance

18

Всё! Данные в физической таблице!

Модели БД

Модели в БД и MySQL это описание структуры БД – набор таблиц, триггеров, процедур, функций, представлений, их взаимосвязей, всё это удобно представляется в виде диаграммы. Модель не содержит в себе данные, могу ошибаться на этот счет, но пока думаю так.

Если базы нет, и она только проектируется, то удобно создавать базу как раз из модели.

Если база есть, и её нужно скорректировать, добавить или удалить таблицы, добавить или изменить поля таблиц, то как раз удобно пользоваться моделями!

Модель выглядит примерно следующим образом

19

Основные операции по моделям

File > NewModel

Получение модели из физической БД

DataBase>ReverseEngeneer

Создание физической БД из модели

DataBase > ForwardEngeneer

Внесение изменений в физическую БД или наоборот в модель из физической БД

DataBase > Synchronize

В другой статье я расскажу чуть более подробно как работать с моделями! А здесь пока всё! Спасибо за внимание!

Запуск MySQL Workbench

Откройте меню Пуск и наберите ‘Workbench’. В списке выберите MySQL Workbench.

Откроется окно, называемое домашним экраном.

Домашний экранДомашний экран

В верхней части Вы можете видеть список соединений с СУБД. Эти элементы управления используются для подключения к СУБД и прямого управления.

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

Подключения

“Плитка” подключения“Плитка” подключения

При наведении курсора мыши на подключение, у “плитки” отгибается уголок. Если нажать на этот “уголок”, отобразится информация о подключении: версия СУБД, дата последнего использования, адрес сервера СУБД, логин, и т.п.

Информация о подключенииИнформация о подключении

В правом нижнем углу есть кнопка ‘Connect’, которая откроет данное подключение.

Подключение так же можно открыть, нажав на саму “плитку”.

Откройте первое подключение в списке.

Редактор SQL-запросов

После открытия подключения, открывается окно редактора SQL-запросов.

Окно редактора SQL-запросовОкно редактора SQL-запросов

В центре мы видим окно редактирования запроса.

Обратно к домашнему экрану можно вернуться, нажав на иконку в левом верхнем углу окна.

Слева находится навигатор, отображающий основные задачи и список объектов БД.

В левом нижнем углу находится окно информации о выбранном объекте.

Справа находится окно помощи.

Внизу – окно истории запросов.

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

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

Редактор SQL – Панель SQL-запросаРедактор SQL – Панель SQL-запроса

Выполним запрос к базе world . Во-первых, выберем базу данных world как активную.

Для этого, найдите объект world в навигаторе, и выберете его двойным кликом, либо нажав правой кнопкой мыши и в контекстном меню выбрав Set as Default Schema .

Теперь можно выполнять запросы к базе world .

Вы так же можете выбрать активную базу, выполнив запрос

Для начала, запросим список таблиц в выбранной базе. Для этого, в окне редактирования SQL-запроса, напишем

При введении запроса, окно помощи автоматически отображает подсказки по синтаксису вводимого запроса, если эта возможность включена. Чтобы включить автоматическую подсказку, нажмите на третью слева кнопку панели в окне помощи.

Затем нажмем на кнопку выполнения запроса (желтая молния), или выберем в меню Query → Execute (All or Selection) . Клавиатурное сокращение – ctrl + shift + enter

  • Open an SQL Script File: Загружает содержимое ранее сохраненного запроса из файла.

  • Save SQL Script to File: Сохраняет запрос в файл

  • Execute SQL Script: Выполняет выделенную часть запроса, или весь запрос, если ничего не выделено.

  • Execute Current SQL script: Выполняет выражение, на котором находится текстовый курсор.

  • Stop the query being executed: Прерывает выполнение текущего запроса.

  • Toggle whether execution of SQL script should continue after failed statements: Переключает поведение при ошибках в выражениях. Если на кнопке отображен красный кружок, то выполнение запроса прерывается при ошибке выполнения одного из выражений.

    Иначе, если отображена зеленая стрелка, выражения с ошибками пропускаются и выполнение запроса продолжается.

  • Commit: Подтверждает текущую транзакцию

  • Rollback: Отменяет текущую транзакцию

  • Toggle Auto-Commit Mode: Если включено, каждое выражение будет автоматически подтверждено.

  • Set Limit for Executed Queries: Ограничение количества результатов запроса.

  • Save Snippet: Сохранить текущее выражение или выбранный фрагмент для быстрого использования.

  • Beautify SQL: Форматировать текст запроса.

  • Find panel: Отобразить панель поиска в тексте запроса.

  • Invisible characters: Отображать “невидимые” символы.

  • Wrapping: Включить перенос по словам.

Откроется окно результата запроса.

В центре окна результата находится результат запроса – в нашем случае, список названий таблиц. Справа – кнопки выбора стиля отображения:

  • Result Grid – в виде таблицы (по умолчанию)
  • Form Editor – в виде формы. Каждая запись открывается на отдельной странице, в верхней части окна есть стрелки для навигации по записям.
  • Field Types – отображает типы атрибутов результата.
  • Query Stats – отображает различную статистику запроса
  • Execution Path – показывает алгоритм работы оптимизатора

Посмотрим, как устроена таблица Country . Для этого, выполним команду

и выберем стиль отображения результата Field Types.

Запуск запроса на выполнение запускает все выражения, которые написаны в окне запроса. Если в окне запроса написано несколько выражений, разделенных точкой с запятой, они выполнятся последовательно. Поэтому, удаляйте либо комментируйте уже выполненные запросы.

Комментарии в SQL начинаются с двойного дефиса, например:

В данный момент нас интересуют атрибуты (колонки) Name – названия страны и LifeExpectancy – средняя продолжительность жизни граждан.

Выведем список стран со средней продолжительностью жизни граждан более 80 лет. Для этого выполним запрос

Другой запрос, который можно выполнить к таблице Country – количество стран по форме правления.

Создание базы данных

Для создания базы данных можно выполнить запрос

Создайте базу данных с названием myFirstDatabase :

Чтобы отобразить созданную БД в списке объектов, нажмите на пустое место в списке правой кнопкой мыши и выберете Refresh All .

Выберите myFirstDatabase как активную.

Создание таблицы

Создадим таблицу People , состоящую из колонок id , name , birthday :

Проверим, что таблица создалась:

Выведем содержимое таблицы:

Добавление и редактирование данных

При выборе всех столбцов таблицы, Workbench позволяет редактировать записи непосредственно через интерфейс результата запроса. Выберите стиль отображения результата Form Editor , и введите значения атрибутов name и birthday . Последнее вводится в формате YYYY-MM-DD , например для 1 сентября 2015 года введите 2015-09-01 .

Поле id оставьте пустым.

В правом нижнем углу окна результата можно увидеть кнопки Apply и Revert . Первая сгенерирует и выполнит SQL-запрос INSERT , а вторая отменит изменения.

Нажмите на Apply , посмотрите сгенерированный запрос, и примените его. Если все сделано правильно, то в таблицу вставлена новая запись. Выполните запрос

еще раз, чтобы в этом убедиться.

Замечание Можно так же добавлять и редактировать записи в табличном отображении результата.

Удаление данных

Данные можно удалять из окна результатов, используя кнопку панели Delete selected rows .

Другой способ – выполнение SQL-запроса

Например, удалим из таблицы People запись с каким-либо значением id :

Подставьте вместо 1 какое-то из существующих значений.

Замечание По умолчанию, Workbench выполняет запросы с параметром SQL_SAFE_UPDATES . Этот параметр не позволяет производить запросы UPDATE и DELETE без указания условия WHERE с первичным ключом (в данном случае id ).

Импорт и экспорт

Экспорт

В навигаторе выберите Data Export . Выберите базы данных и таблицы, которые хотите экспортировать. При необходимости, отметте другие объекты, которые хотите экспортировать: Dump Stored Procedures and Functions , Dump Events , Dump Triggers .

Выберите Export to Self-Contained File и файл, в который будет сохранен экспорт.

Не отмечайте Include Create Schema : эта опция включит в экспорт выражение CREATE DATABASE .

Нажмите на кнопку Start Export .

Импорт

В навигаторе выберите Data Import/Restore . Выберите Import from Self-Contained File .

Выберите базу данных, в которую будет произведен импорт в выпадающем списке Default Target Schema . Можно так же создать новую БД, нажав на кнопку New…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *