Создать/развернуть дамп MySQL БД
Как веб разработчику, мне часто приходится создавать и разворачивать дампы баз данных, и в основном это MySQL. В данной заметке я оставлю частые задачи по работе с дампами MySQL БД. На вскидку, при развертывании InnoDB таблицы ~ 1GB уходит около получаса. Если вам нужно засечь время создания/восстановления дампа — используйте команду time ( time mysql . ).
Создание дампа MySQL базы
Создать полный дамп MySQL:
mysqldump -uroot --all-databases --routines --triggers -p > mysql.dump
Создать и сжать дамп БД:
mysqldump -uroot -proot DATABASE | gzip > ./db.sql.gz
Создать дамп структуры MySQL:
mysqldump -u%user% -p%pass% --no-data db_name > db_name.dump
gzip --best < db_name.sql >db_name.sql.gz
Исключить таблицы юзеров WP:
mysqldump -uUSER -pPASS --ignore-table=blog.wp_users --ignore-table=blog.wp_usermeta blog > blog_without_users.sql
Создать полный дамп БД — каждая БД в отдельном архиве (shell-скрипт):
#!/bin/bash dblist=`mysql -u%user% -p%pass% -e "show databases" | sed -n '2,$ p'` for db in $dblist; do mysqldump -u%user% -p%pass% --routines --triggers $db | gzip --best > $db.sql.gz done
Восстановление дампа БД MySQL
Восстановить MySQL дамп:
mysql -uUSER -hlocalhost -pPASS DB_NAME < /path/dump.sql
Восстановить MySQL дамп из zip архива:
unzip -p dump.sql.zip | mysql -u root -p%pass% database%
Восстановить .sql.gz дамп:
gunzip -c dump.sql.gz | mysql -uroot -hlocalhost -p%pass% %database%
Выдернуть конкретную таблицу из общего дампа:
awk '/CREATE TABLE `table_name`/,/UNLOCK TABLES/' db_name.dump
Примечание
Если при восстановлении базы данных вы получаете ошибки:
ERROR 2006 (HY000) at line 38207: MySQL server has gone away
или ошибку в интерфейсе PhpMyAdmin:
Найдено 1 ошибок при анализе. 1. Отсутствует выражение. (near "ON" at position 25) SQL запрос: SET FOREIGN_KEY_CHECKS = ON; Ответ MySQL: #2006 - MySQL server has gone away
Нужно увеличить значение max_allowed_packet в конфиге /etc/mysql/conf.d/mysql.cnf:
max_allowed_packet = 64M
или установить этот параметр при импорте:
mysql --init-command="SET SESSION FOREIGN_KEY_CHECKS=0; SET GLOBAL max_allowed_packet=64*1024*1024;" -uroot -p database_name < ./dump.sql
Проверить значение параметра:
SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet';
#mysql #dump #restore #backup #mysqldump #db dump #restore database #mysql dump
Как загрузить дамп базы данных MySQL
![]()
Сегодня мы рассмотрим, как с помощью каждого из этих способов загрузить дамп базы MySQL.
Через панель управления ISPmanager
Зайдем в панель управления и перейдем в пункт Базы данных. Нажмём на кнопку Создать базу данных и создадим базу с необходимыми параметрами.

После нажмём на кнопку Дамп — Импорт, откроется диалоговое окно с возможностью скачать дамп базы данных с вашего локального ПК.

В случае, если файл уже находится на сервере, выберите Тип файла — Файл на сервере.

И выбрать файл дампа непосредственно на сервере.
С помощью PHPMyAdmin
Если у вас установлен ISPManager 6, то для перехода в phpmyadmin можно воспользоваться кнопкой Web интерфейс БД в разделе Базы Данных.

Если же панели управления нет, перейдите в интерфейс вашего phpmyadmin самостоятельно.
Для импорта дампа базы данных необходимо перейти во вкладку Импорт, предварительно выбрав нужную базу данных:

Следующим шагом выберите файл с вашего компьютера, для этого нажмите на кнопку Выберите файл:

* Для увеличения максимального размера загружаемого файла требуется увеличить следующие параметры интерпретатора PHP: post_max_size и upload_max_filesize .
Для запуска импорта базы необходимо нажать на кнопку Вперед:

Через терминал
Загрузите файл дампа базы данных в нужный вам каталог удобным для вас способом. Например: /var/www/www-root/data/www/
Для загрузки дампа в базу данных databaseimport выполним следующую команду:
mysql databaseimport < /var/www/www-root/data/www/databaseimport.sql
где databaseimport — имя БД;
/var/www/www-root/data/www/databaseimport.sql — путь к файлу с БД.
В случае, если возникнет ошибка, может потребоваться указать данные доступа к базе данных, например:
mysql -uimport -pPassword databaseimport < /var/www/www-root/data/www/databaseimport.sql
где import — имя пользователя для доступа к БД,
Password — пароль для доступа к БД,
databaseimport — имя базы данных.
Как загрузить sql dump
8.2 Импорт/экспорт дампа при помощи SSH
Для импорта сначала загружаете дамп на сервер. Дамп должен быть в формате .sql Далее подключаетесь на сервер по SSH и выполняете команду:
В случае неудачи всегда будет указанна ошибка из-за которой импорт не удался или прервался. Для экспорта существует утилита, которая позволяет сделать бэкап базы данных в традиционном SQL-формате – mysqldump. Общий вид в командной строке:
- пользователь_БД - имя пользователя Базы Данных, имеющий доступ к базе;
- имя_БД - имя Базы Данных, которая создана на сервере;
- файл_дампа_БД - это файл в текущей директории.
Также утилита имеет много опций и ключей, рассмотрим ниже несколько основных полезных примеров по использованию mysqldump:
- Команда с опцией -–all-databases сохраняет все базы данных на MySQL-сервере:
- Сохраняет таблицы table1 , table2 , table3 , из базы DATABASE в файле DATABASE_t1-t2-t3.sql :
- Указав опцию --no-data команда сохранит структуру таблиц (без данных) в файле DATABASE_schema.sql :
- Опция --add-drop-table добавит команду DROP TABLE (удаление таблицы) перед созданием таблиц:
- Опция --databases добавит команду CREATE DATABASE перед созданием базы данных. Это позволяет не создавать и не задавать базу данных при восстановлении:
- Команда сделает бэкап базы DATABASE с сервера с IP-адресом 192.168.0.1 :
- Опция --max_allowed_packet=8M принудительно изменит размер пакета считываемых данных в оперативную память размером в 8 мегабайт:
- Опция --quick заставляет команду записывать данные непосредственно на диск:
- Принудительно указываем кодировку cp1251 :
- Этой последовательностью получаем архивированный бэкап с помощью утилиты gzip (для последующего восстановления необходимо будет предварительно извлечь из архива).
- Заливаем архив бекапа в базу:
- или так:
- Создаём новую базу данных:
- Для просмотра списка баз данных можно использовать команду:
- А также можно посмотреть список таблиц базы:
- USER — это имя пользователя базы данных;
- PASSWORD — пароль пользователя;
- SERVER — это имя (или ip-адрес) сервера базы данных;
- DataBase — наименование базы данных;
- NameFile.sql — имя файла, в который будет помещен дамп базы данных.
Экспортирование и импортирование дампов баз данных
Дамп базы данных – это файл, содержащий структуру и контент базы данных. Его можно использовать для целей резервного копирования. В более ранних версиях Plesk дампы можно было создавать только с помощью инструментов управления базами данных. Теперь в Plesk есть более быстрый способ создавать дампы баз данных, хранить их и разворачивать ранее созданные дампы на сервере.
В Plesk экспортировать дамп базы данных означает сохранить исходную базу данных в виде файла, который затем можно будет хранить или распространять. Импортировать дамп базы данных означает восстановить данные из такого файла в конечную базу данных. Импорт можно выполнять как на текущий, так и на другой сервер баз данных. Единственное ограничение состоит в том, что исходная и конечная базы данных должны быть одного типа, например, MySQL.
В Plesk дампы баз данных создаются в формате SQL и хранятся в виде ZIP-архивов. Если вам нужно создать дамп в другом формате или с индивидуальными настройками, используйте собственную функциональность инструментов управления базами данных (phpMyAdmin или phpPgAdmin). Инструкции по импорту и экспорту данных с помощью инструментов управления базами данных смотрите в справке к этим инструментам.
Чтобы сохранить копию базы данных:
- Перейдите на страницу Сайты и домены >Базы данных >Экспортировать дамп в окне инструментов управления базой данных.
- Сохранить дамп:
- Чтобы сохранить дамп в определенной папке на сервере, выберите папку. По умолчанию используется домашняя папка вашей подписки.
- Чтобы сохранить дамп и на сервере, и на вашем локальном компьютере, выберите Автоматически скачать резервную копию после создания.
Чтобы развернуть копию базы данных в Plesk:
- Перейдите на страницу Сайты и домены >Базы данных >Импортировать дамп в окне инструментов управления базой данных.
- Выберите дамп для развертывания:
- Чтобы развернуть дамп с вашего локального компьютера, выберите Загрузить и нажмите Просмотр. Затем выберите ZIP-архив с файлом дампа.
- Чтобы развернуть дамп из папки на сервере, выберите Импортировать и выберите файл дампа.
- Чтобы развернуть дамп во вновь созданной базе данных, выберите Заново создать базу данных. Старая база данных будет удалена, а новая с таким же именем – создана.
Примечание: По умолчанию кнопки Импортировать дамп и Экспортировать дамп не отображаются для баз данных, размещенных на удаленном сервере Microsoft SQL Server. Чтобы экспортировать или импортировать резервные копии таких баз данных, сначала задайте настройки резервного копирования для удаленного сервера Microsoft SQL Server.
