SQL

Как восстановить базу данных MySQL из дампа быстро и просто

Иногда бывают ситуации, когда нужно восстановить базу данных MySQL из дампа. Эту операцию можно осуществить несколькими способами. О наиболее простых и быстрых мы сегодня поговорим.

Дамп базы данных — это документ с расширением «.sql», который содержит информацию для восстановления базы данных. Обычно дамп базы данных делают в двух случаях:

  1.  Когда нужно перенести сайт из одного хостинга на другой. В этом случае не нужно на новом хостинге «вручную» заполнять таблицы БД старого сайта. Все что нужно — восстановить базу из дампа на новом хостинге.

  2.  Когда нужно сделать резервное копирование, базу данных сайта создают «на всякий пожарный случай». Допустим вы планируете проводить корректировки базы данных, которые могут повлечь ее сбой. Резервное копирование поможет восстановить рабочее состояние БД в случае возникновения критических ситуаций.

Как восстановить базу MySQL из дампа?

Самое простое и быстрое восстановление базы данных MySQL — это использование административной панели phpMyAdmin. Напомним, что эта административная панель является основным инструментом для взаимодействия с MySQL. Если вы используете другую административную панель, тогда алгоритм действий останется прежний, но пункты меню могут быть другими.

Итак, чтобы восстановить базу данных MySQL из дампа, нужно:

  1.  Зайти в phpMyAdmin  и выбрать базу данных, которую будете восстанавливать. Если таковая не имеется, тогда создайте новую базу данных с тем же именем, что и в дампе. Именно в нее вы будете переносить информацию из дамп-файла.

  2.  После того как открыли phpMyAdmin и открыли базу данных, куда будете переносить файлы из дампа, нужно открыть вкладку «Импорт». Эта вкладка находится в верхнем меню.

  3.  В этой вкладке нужно найти раздел «Импортированный файл» и в нем отыскать кнопку «Выберите файл». Нажмите на эту кнопку.

  4.  После нажатия кнопки нужно выбрать нужный дамп MySQL на компьютере.

  5.  Затем нажмите внизу экрана кнопку «Вперед» и дождитесь, пока произойдет загрузка файла.

  6.  После загрузки файла нужно перезапустить базу данных.

Такое восстановление базы данных MySQL имеет один минус — этот способ подходит для маленьких баз данных. По умолчанию в административной панели phpMyAdmin стоит ограничение на объем загружаемых файлов. Загрузить на сервер файлы больше 2 Мб не получится. Чтобы загружать файлы большего размера, необходимо изменить это ограничение. Изменить его можно, если внести корректировки в файл «php.ini/.htaccess». В этом файле нужно будет сделать:

  1.  Изменить значение «uploud_max_filesize» на более высокое. Изначально определено 2 Мб. Главное, чтобы это значение было чуть больше, чем объем дампа базы данных. Если оно будет меньше, тогда все равно не получится загрузить дамп-файл на сервер.

  2.  Изменить значение «post_max_size» на значение, которое будет чуть больше чем «uploud_max_filesize».

  3.  Установить значение «0» в пунктах «max_execution_time» и «max_input_time».

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

Восстановление базы данных MySQL с помощью командной строки

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

  1.  Первым делом нужно подключиться к командной оболочке MySQL с root-правами. Для этого используем следующую команду: «mysql -uroot -p». После ввода этой команды потребуется ввод пароля.

  2.  Создаем новую базу данных, куда будем переносить информационную составляющую  дампа. Это делается с помощью следующей командной инструкции: «> CREATE DATABASE db DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;».

  3.  Далее распаковываем архив дампа. Например, если он в формате «gzip», тогда нужно выполнить такую команду: «gunzip /tmp/mydump.sql.gz».

  4.  Потом нужно объявить переменную с названием базы данных. Сделать это можно с помощью следующей консольной инструкции: «export DBNAME=MyBaseName».

  5.  Последняя командная инструкция при активации восстановления базы данных выглядит так: «mysql -u root -p ${MyBaseName}< /tmp/mydump.sql».

Иногда, во время процесса восстановления информации, дамп базы постоянно выкидывает какие-то проблемные моменты, с которыми не удается тут же разобраться, а восстановить дамп необходимо в срочном порядке. Тогда в последней инструкции можно использовать флаги «- - force» или «-f». С помощью этих флагов мы как бы говорим процессу установки «пропускай ошибки». С одной стороны, этот способ позволяет быстро восстановить дамп, потому что игнорируются ошибки, тормозящие процесс.  Но с другой стороны, такой способ может привести к потере информации, которая находится внутри восстанавливаемой памяти, поэтому эти флаги рекомендуют использовать в исключительных ситуациях.

Иногда вам не нужно восстанавливать сразу всю базу данных MySQL из дампа, а лишь отдельную таблицу. Используя возможности командной строки, возможно выполнить и такую операцию. Сделать ее можно вот такой инструкцией: «mysqldump -uroot -p mydatabaseName mytableName > /tmp/mydump_mybase_mytable.sql».

Заключение

Как видно из статьи, восстановить базу MySQL из дампа довольно просто, как при помощи административной панели phpMyAdmin, так и используя возможности командной строки. Не забудьте перед восстановлением базы данных изменить значения по умолчанию, ограничивающие объем загружаемых документов. Если ваш дамп памяти будет превышать ограничительный объем, то при загрузке будут возникать проблемные моменты, которые не дадут завершить процесс восстановления MySQL.

Схожие статьи

SQL и NoSQL: что это, разбираемся в основных моделях баз данных
SQL

SQL и NoSQL: что это, разбираемся в основных моделях баз данных

SQL

Как определить размер таблиц в Oracle?

Диалоговое окно Ms SQL: сохранение изменений запрещено. Что делать
SQL

Диалоговое окно Ms SQL: сохранение изменений запрещено. Что делать

PostgreSQL: использование и приведение (преобразование) типов
SQL

PostgreSQL: использование и приведение (преобразование) типов

×