hostprofi.ru
Подобрать хостинг
Термин·буква Э

Экспорт БД

краткое определение

Экспорт базы данных — создание файла с содержимым БД для резервного копирования, миграции или переноса на другой сервер. Для MySQL и MariaDB используется mysqldump, для PostgreSQL — pg_dump. Результат — SQL-дамп или бинарный формат.

Экспорт базы данных — процедура создания снимка (дампа) базы данных в файл. Дамп используется для резервного копирования (backup), миграции между серверами, архивирования данных или передачи разработчику. Форматы дампа: SQL-скрипт (текстовый), бинарный дамп (PostgreSQL custom format), CSV.

MySQL / MariaDB: mysqldump

Стандартная утилита для экспорта MySQL:

# Дамп одной БД
mysqldump -u user -p dbname > backup.sql

# Все БД
mysqldump -u root -p --all-databases > all_dbs.sql

# Без блокировок (для InnoDB)
mysqldump -u user -p --single-transaction dbname > backup.sql

Ключи: --single-transaction — консистентный снапшот InnoDB без блокировок; --skip-lock-tables — не блокировать таблицы при экспорте; --compress — сжатие через zlib.

PostgreSQL: pg_dump

# SQL-дамп
pg_dump -U user dbname > backup.sql

# Бинарный формат (быстрее, меньше размер)
pg_dump -U user -Fc dbname > backup.dump

# Восстановление
pg_restore -U user -d dbname backup.dump

Сжатие и хранение

Для крупных баз дампы сжимаются на лету: mysqldump dbname | gzip > backup.sql.gz. Размер сжатого дампа обычно в 5–15 раз меньше оригинала. Хранить дампы следует вне основного сервера: на отдельном хранилище, S3 или другом ЦОД.

История

mysqldump входит в дистрибутив MySQL с версии 3.23 (2001). pg_dump существует с PostgreSQL 6.0 (1997). phpmyadmin добавил экспорт через браузер в 1998 году, что сделало операцию доступной без SSH. Инструменты типа mydumper (2009) появились для параллельного дампа крупных БД.

Связь с хостингом

На виртуальном хостинге экспорт доступен через phpMyAdmin или панель управления (cPanel, Plesk). На VDS рекомендуется настроить автоматический cron-дамп с ротацией файлов. Перед обновлением CMS (WordPress, Joomla) обязательно делать дамп БД и файлов сайта.

Методы экспорта баз данных

Для MySQL/MariaDB: mysqldump -u root -p dbname > backup.sql (логический бэкап, переносим между версиями), mysqlpump (параллельный dump), Percona XtraBackup (физический hot backup без блокировок). Для PostgreSQL: pg_dump -Fc dbname > backup.dump (сжатый формат), pg_basebackup (физический бэкап для Point-in-Time Recovery). Размер SQL-дампа можно сжать: mysqldump dbname | gzip > backup.sql.gz -- это уменьшает файл в 5--10 раз. Автоматизация через cron: 0 3 * * * mysqldump -u root -p... | gzip > /backup/$(date +\%Y\%m\%d).sql.gz.

Экспорт в хостинге

На shared-хостинге экспорт доступен через phpMyAdmin (Экспорт -> SQL) или SSH (mysqldump). Ограничение: phpMyAdmin не справляется с базами >100--200 МБ (таймаут PHP). Для больших баз -- только через SSH. На VPS экспорт настраивается гибко. Дифференциальный бэкап экономит место: сохраняет только изменения с момента последнего полного бэкапа. Binlog-репликация MySQL позволяет делать Point-in-Time Recovery -- восстановление до конкретной секунды. Геораспределённый бэкап хранит копии в нескольких регионах для защиты от катастроф.

Другие термины