Примечание
ЭТО АРХИВНАЯ ВЕРСИЯ КУРСА!
Материалы предназначаются для пересдающих дисциплину "ОП.08 - Основы проектирования баз данных" в соответствии с учебными планами СПО годов набора ДО 2024-го. Для того чтобы ознакомиться с актуальным курсом "ИТ.03 - Основы проектирования баз данных" включающим интерактивные примеры, перейдите по ссылке.
Материалы были перенесены со старого сайта с минимальной доработкой, поэтому не все возможности курса могут работать как ожидается, где-то может слететь форматирование.
Домашние задания в рамках курса проверяться не будут!
ОП.08 - 09 - Понятие «Дамп». Импорт и экспорт БД в формат .sql
Примеры данной темы используют учебную БД:
employees_01.sql
Введение
На этом занятии мы разберем, как создавать резервные копии баз данных (дампы) и восстанавливать их. Эти навыки помогут защитить данные и переносить их между системами. Мы узнаем, что такое дамп, как экспортировать и импортировать данные в формате .sql, и попробуем это на практике через командную строку и MySQL Workbench.
Основные понятия
1. Что такое дамп?
Дамп (от англ. dump) — это резервная копия базы данных, сохраненная в виде файла. Она включает структуру (таблицы, их поля) и данные (записи). Дамп нужен для:
- Восстановления данных после сбоя.
- Переноса базы на другой сервер.
- Изучения структуры и содержимого базы.
[!INFO]
Дамп — это как "снимок" базы данных, который фиксирует её состояние в определенный момент.
2. Формат .sql
Файлы .sql — это обычные текстовые файлы, содержащие последовательность SQL-запросов. Эти запросы могут:
- Создавать таблицы (
CREATE TABLE) из ничего. - Наполнять их данными (
INSERT INTO). - Устанавливать связи между таблицами (например, через
FOREIGN KEY). - Применять необходимые настройки (например, кодировку или режим работы).
Если открыть такой файл в текстовом редакторе (например, Notepad), вы увидите команды SQL, которые шаг за шагом воссоздают полноценную базу данных. Именно поэтому .sql так популярен — он прост, понятен и универсален.
[!TIP]
Простота формата.sqlпозволяет не только восстанавливать базы, но и изучать их устройство, просто читая файл.
3. Экспорт и импорт данных
Экспорт данных — это процесс сохранения данных из базы в файл или другое хранилище. Экспорт нужен для:
- Создания резервных копий.
- Передачи данных на другой сервер.
- Анализа данных в других приложениях.
Импорт данных — это процесс загрузки данных из файла обратно в базу. Импорт используется для:
- Восстановления базы после сбоя.
- Обновления данных из внешнего источника.
- Объединения данных из нескольких баз.
Формат .sql — самый распространенный для этих задач благодаря своей универсальности.
4. Служебная информация в дампе
В дамп могут попадать не только таблицы и данные, но и служебные настройки сервера MySQL. Это могут быть:
- Версия MySQL и операционной системы.
- Кодировки (например,
CHARSET=utf8mb3). - Типы таблиц (например,
ENGINE=InnoDB). - Правила сортировки (например,
COLLATION=utf8mb3_general_ci). - Режимы работы (например,
SQL_MODE).
Пример из реального дампа:
-- MySQL dump 10.13 Distrib 8.0.41, for Win64 (x86_64)
-- Host: 127.0.0.1 Database: mydb
-- Server version 8.0.41
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!50503 SET NAMES utf8 */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
CREATE TABLE `author` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
...
-- Dump completed on 2025-03-25 17:16:54
[!TIP]
Это лишь небольшой выборочный набор служебных данных — в дампе их может быть намного больше. Если дамп разворачивается на том же сервере, большинство настроек можно пропустить — они просто сохраняют исходную среду.
Экспорт и импорт через командную строку
Для работы с дампами используется утилита mysqldump. Рассмотрим основные команды.
1. Экспорт базы данных в файл .sql
Шаг за шагом:
Откройте командную строку (Command Prompt или PowerShell в Windows).
Выполните команду:
mysqldump -u root -p company > company_backup.sqlmysqldump— утилита для создания дампа.-u root— имя пользователя MySQL.-p— запросит пароль.company— имя базы данных.> company_backup.sql— сохраняет дамп в файл.
Введите пароль, если потребуется.
Проверьте, что файл
company_backup.sqlпоявился.
[!WARNING]
Если путь содержит пробелы (например,C:\My Folder\backup.sql), используйте кавычки:mysqldump -u root -p company > "C:\My Folder\company_backup.sql"
2. Импорт базы данных из файла .sql
Шаг за шагом:
Создайте пустую базу данных:
CREATE DATABASE company;Выполните команду для импорта:
mysql -u root -p company < company_backup.sqlmysql— утилита для работы с MySQL.< company_backup.sql— загружает данные из файла.
Введите пароль, если потребуется.
Особенности на Windows:
Символ < иногда не работает корректно в Windows из-за особенностей обработки перенаправления в PowerShell или Command Prompt. В таком случае используйте альтернативу:
mysql -u root -p company -e "SOURCE C:/path/to/company_backup.sql"
Здесь -e позволяет выполнить команду SOURCE для загрузки файла напрямую.
Работа с MySQL Workbench
MySQL Workbench упрощает работу с базами данных благодаря графическому интерфейсу.
1. Экспорт базы данных
Шаг за шагом:
- Откройте MySQL Workbench и подключитесь к серверу.
- В меню выберите Server → Data Export.
- В открывшемся окне:
- Выберите базу
company. - Отметьте таблицу
employees. - Установите "Export to Self-Contained File" (единый файл
.sql).
- Выберите базу
- Укажите путь (например,
C:\backup\company_export.sql). - Нажмите Start Export.
[!INFO]
"Self-Contained File" — это один файл.sql, содержащий всё: структуру, данные и настройки.
2. Импорт базы данных
Шаг за шагом:
- В меню выберите Server → Data Import.
- В открывшемся окне:
- Выберите "Import from Self-Contained File".
- Укажите путь к файлу (например,
company_export.sql). - Выберите базу
company(или создайте новую через New).
- Нажмите Start Import.
[!TIP]
После импорта обновите список баз (правый клик → Refresh All) и проверьте таблицуemployees.
Практическая часть
1. Подготовка базы данных
Загрузите базу company из файла employees_01.sql (в начало лекции выведено содержимое файла):
Создайте базу:
CREATE DATABASE company;Импортируйте данные:
mysql -u root -p company < employees_01.sql
2. Экспорт базы данных
Через командную строку:
Выполните:
mysqldump -u root -p company > company_backup.sqlПроверьте, что файл создан.
Через MySQL Workbench:
- Откройте Data Export.
- Выберите
company, отметьтеemployees. - Установите "Export to Self-Contained File", сохраните как
company_workbench.sql. - Нажмите Start Export.
3. Удаление и восстановление
Удалите базу:
DROP DATABASE company;Восстановите через командную строку:
mysql -u root -p company < company_backup.sqlИли через Workbench:
- Создайте базу
company. - Используйте Data Import с
company_workbench.sql.
- Создайте базу
Проверьте данные:
USE company; SELECT * FROM employees LIMIT 3;
Ожидаемый результат: первые три записи из таблицы
employees.
Заключение
Мы изучили дампы, экспорт и импорт баз данных в формате .sql через командную строку и MySQL Workbench. Вы узнали, что .sql — это текстовый файл с SQL-запросами, а дампы могут содержать служебные настройки. Эти навыки пригодятся для защиты данных и их переноса. На следующем занятии начнем проектировать базы данных.