Перенос База данных 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 в существующую базу данных 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 убедитесь, что имя пользователя находится в формате .
- Для База данных Azure для MySQL гибкого сервера используйте . Если для подключения используется , произойдет сбой подключения.
Запустите мастера экспорта и импорта данных таблиц в контекстном меню обозревателя объектов
Мастера для данных таблиц поддерживают операции импорта и экспорта с использованием файлов типа 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 см. в руководстве по миграции баз данных.
Импорт и экспорт баз данных MySQL через консоль и phpMyAdmin
В базе данных MySQL хранится динамический контент сайта (комментарии, аккаунты пользователей, размещённые посты и т. д.). Потеря подобной информации недопустима, поэтому нужно заранее позаботиться о резервировании данных.
Все таблицы из базы данных можно экспортировать в отдельный файл, который потом же импортировать обратно для восстановления информации. Кроме этого, созданный дамп БД можно использовать для переноса информации в другую базу MySQL.
Существует два способа импорта/экспорта:
- через веб-интерфейс PhpMyAdmin;
- подключившись к консоли MySQL локально или через SSH.
Подробнее о подключении через протокол SSH можно узнать здесь.
Все описанные действия с MySQL схожи по выполнению на любых операционных системах Linux.
Экспорт базы данных с помощью PhpMyAdmin
В первую очередь требуется выполнить вход в интерфейс PhpMyAdmin. Список существующих баз находится в верхнем левом углу.
Выбрав необходимую базу данных, нужно перейти в раздел «Экспорт».
Для быстрого экспорта подойдёт вариант «Быстрый – отображать минимум настроек», при котором используются оптимальные параметры переноса. Чтобы открыть список дополнительных опций, нужно выбрать метод «Обычный – отображать все возможные настройки».
Во вкладке «Формат» рекомендуется выставить расширение SQL (.sql) для экспортируемого файла. Но также можно использовать и другие форматы, такие как CSV (.csv) и XML (.xml).
Определившись с параметрами, остаётся выполнить экспорт нажатием «Вперёд». В браузере начнётся загрузка файла.
Экспорт базы данных MySQL через консоль
Экспорт базы данных выполняется с помощью утилиты MySQLdump:
mysqldump --user=Login --password=Password db_name > db_name.sql
Переменные в приведенном примере:
- «Login» – имя пользователя MySQL.
- «Password» – пароль пользователя MySQL.
- «db_name» – наименование базы данных.
- «db_name.sql» – конечный файл.
MySQLdump позволяет экспортировать базу данных с удаленного сервера (если хосту разрешено подключение):
mysqldump --user=Login --password=Password --host=XXX.XXX.XXX.XXX db_name > db_name.sql
*Вместо «XXX.XXX.XXX.XXX» указывается актуальный IP-адрес сервера.
Импорт базы данных с помощью PhpMyAdmin
Для начала необходимо авторизоваться в интерфейсе PhpMyAdmin и выбрать базу данных в левом верхнем углу. После этого стоит перейти в раздел «Импорт».
Теперь нужно нажать «Выбрать файл» и в открывшемся проводнике выбрать SQL-файл (принимаются также архивы Gzip, Bzip2, Zip). В разделе «Формат» отмечается расширение используемого файла.
Все остальные параметры изменять необязательно. Завершить импорт можно нажатием кнопки «Вперёд»
Импорт базы данных MySQL через консоль (замена существующей)
Для начала необходимо авторизоваться в командной строке MySQL:
mysql --user=Login --password=Password
*Вместо «Login» и «Password» вводятся действительные данные пользователя MySQL.
Теперь выбирается существующая база данных, с которой планируется дальнейшая работа:
use db_name
*Вместо «db_name» вводится наименование существующей БД.
Остаётся выполнить импорт таблиц следующей командой:
source db_name.sql
*Вместо «db_name.sql» вводится путь до файла SQL (предварительно загружается на сервер).
Импорт и создание базы данных MySQL через консоль
Выше был описан способ импорта, при котором осуществляется замена таблиц в существующей базе данных. Но такой вариант не подойдёт, если БД изначально не существует. В таком случае потребуется сначала создать новую базу данных, а уже потом импортировать в неё таблицы из резервной копии.
Для начала необходимо авторизоваться в консоли MySQL:
mysql --user=Login --password=Password
*Вместо «Login» и «Password» вводятся действительные данные пользователя MySQL.
Далее нужно создать новую базу данных:
CREATE DATABASE new_database;
*Вместо «new_database» вводится собственное наименование базы данных.
На экране появится следующий вывод:
Output Query OK, 1 row affected (0.00 sec)
Теперь нужно выбрать созданную базу, чтобы все последующие команды относились к ней:
use new_database
Остаётся импортировать таблицы из резервной копии:
source db_name.sql
*Вместо «db_name.sql» вводится путь до файла SQL (предварительно загружается на сервер).
Надежный хостинг для сайта. 14 дней — бесплатно!
Мы всегда на связи в соцсетях
Поддержка в привычной среде
Мы в Яндекс Кью
- Хостинг для сайта
- CMS хостинг
- VPS сервер
- Удалённый рабочий стол
- Домены
- Стресс-тест на DDoS
Экспорт базы данных (mysql workbench)
Есть небольшой проект с базой данных. Хочу закинуть его на GitHub. Как это лучше сделать? Создать дамп и скинуть в папку с проектом или есть еще какой-то способ?
Отслеживать
задан 17 сен 2018 в 17:27
Pavel Samsonenka Pavel Samsonenka
15 6 6 бронзовых знаков
Обычно используют мигрейшин тулы, такие как flywaydb.org и liquibase.org
17 сен 2018 в 18:31
Обычно для таких вещей пишут скрипты.
17 сен 2018 в 19:17
обычно в средах разработки есть экспорт таблиц и схем, они генерят скрипты по созданию объектов в бд и после заполнения данными. Получается большой файл sql, в котором куча insert-ов идут один за одним
17 сен 2018 в 19:47
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- java
- база-данных
- github
- jdbc
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.30.8420
Работа в приложении MySQL Workbench
MySQL Workbench — это инструмент визуального проектирования баз данных, который объединяет проектирование, моделирование, создание и эксплуатацию баз данных. Его возможности нам пригодятся для:
• осуществления резервного копирования и восстановления базы данных (также полезно для переноса базы данных на другой компьютер);
• настройки для подключения к удаленной базе данных;
• изменения пути сохранения базы данных — «по умолчанию» сохраняется на диск «C»;
• просмотра статистики базы данных;
Если база данных была установлена согласно инструкциям в предыдущем разделе, то MySQL Workbench был установлен вместе с MySQL, в противном случае ее можно скачать по этой ссылке: http://dev.mysql.com/downloads/workbench/
После запуска MySQL Workbench вам необходимо выбрать экземпляр сервера MySQL, чтобы подключиться к нему. В нашем случае он всего один (локальный) — нажимаем на него:
Введите пароль пользователя root (который был введен при настройке MySQL):
После подключения к серверу MySQL мы увидим стартовую страницу, которая содержит:
• Administration — настройки сервера MySQL.
• Schemas (Database area) — здесь отображается список созданных баз данных. Также при первом включении здесь могут отображаться тестовые базы данных — их можно удалить, щелкнув по названию базы с помощью правой клавишью мыши и выбрав «Drop Schema» во всплывающем меню.
Создание базы данных
Вам необходимо создать базу данных вручную:
Откройте закладку «Schemas». Нажмите иконку «Create a new schema in the connected server»:
Введите «Name» имя схемы и нажмите Apply:
Появится окно «Apply SQL script to Database» . Нажмите Apply:
Затем нажмите «Finish»:
Установка часового пояса сервера
Если при первом запуске TeslaSCADA2 IDE или TeslaSCADA2 Runtime появляется сообщение об ошибке, подобное этому:
Вы можете исправить это двумя способами:
1 . Установить глобально с помощью запроса SQL (это временное решение, после перезапуска сервера MySQL проблема вернется).
Для этого вам необходимо настроить часовой пояс для своего сервера My SQL, чтобы сделать это, откройте MySQL Workbench и щелкните значок «Create a new SQL tab for executing queries»:
Введите: SET GLOBAL time_zone = ‘+3:00’, где вместо ‘+3:00’, Вам необходимо ввести ваш часовой пояс. И затем нажать иконку «Execute. «:
Теперь Вы можете снова попробовать Запустить проект TeslaSCADA2 в TeslaSCADA2 IDE или в TeslaSCADA2 Runtime.
2 . Изменить файл my.ini (Windows) или файл my.inf (Linux).
2.1 Найдите файл my.ini или my.inf. Это файл инициализации для сервера MySQL. Обычно он помещается в C:/ProgramData/MySQL/MySQL Server 8.0/:
2.2. Откройте файл my.ini и добавьте эту строку: default-time-zone=’+03:00′, где вместо ‘+3: 00’, нужно указать свой часовой пояс.
2.3. Сохраните файл (Ваш текущий пользователь должен иметь доступ к этой папке).
2.4. Перезагрузите сервер MySQL.
Теперь Вы можете снова попробовать запустить проект TeslaSCADA2 в TeslaSCADA2 IDE или в TeslaSCADA2 Runtime.
Настройки, необходимые для подключения к удаленной базе данных
1. Выберите пункт «Users and Privileges».
2. Выберите пользователя «root».
3. В поле «Limit to Hosts Matching» введите «%».
4. Сохраните настройки нажав кнопку «Apply».
Теперь вы можете подключиться к базе данных с удаленного ПК.
Изменение пути сохранения базы данных
Чтобы изменить путь для сохранения базы данных, необходимо сделать следующее:
• остановить службу MySQL через службы Windows;
• переместить весь каталог «данных» из текущего местоположения (по умолчанию «C: \ ProgramData \ MySQL \ MySQL Server 5.x \ data») в новый (вырезать — вставить).
Далее вам необходимо запустить MySQL Workbench «as administrator» и изменить параметр «datadir» на новое расположение директории «data»: