Импорт и экспорт данных MySQL с помощью mysqldump

Добрый день друзья, сегодня мы с Вами научимся делать . Для чего это нужно, можете задать вопрос Вы. Прежде всего экспорт базы данных необходимо делать периодически для того чтобы в экстренных ситуациях Вы не потеряли важную для Вас информацию. Экспорт будет представлять собой небольшой файл, в котором будет храниться вся информация о БД. Для экспорта БД необходимо зайти в PHPMyAdmin и нажать на интересующую Вас БД. После этого вы увидите все находящиеся в ней таблицы и, не заходя в них, кликните на кнопку меню под названием экспорт. Перед Вами появится следующая страница:



Я советую Вам выбрать быстрый способ экспорта, а также в формате указать SQL . После этого вы можете нажать ок. Перед Вами появится окно, в котором Вам предложат сохранить файл.



Вы сохраняете файл в нужном для Вас месте, главное помните, куда Вы его сохранили, ведь он очень важен для нас.
Что касается обычного способа экспорта. Вы можете также его использовать, если Вам это необходимо, там присутствует множество дополнительных настроек, которые Вы можете задать при экспорте. Например, выбрать нужные таблицы из БД, указать кодировку, и многое другое. Если Вам интересна данная настройка, Вы можете ее посмотреть. Но мы с Вами не будем углубляться в данную настройку.
После того как вы сохраните файл у себя на компьютере я попрошу Вас удалить БД. Как это сделать я не буду Вам объяснять, т.к., мы уже это проходили. Не бойтесь удалять, мы все вернем с Вами на свои места.
Настало время заняться импортом базы данных . Переходим в меню импорт.



Выбираем обзор вашего компьютера, и указываем путь к нашему файлу. И нажимаем ок. Как видите, перед Вами появилась ошибка. Не пугайтесь, все дело в том, что мы с Вами импортировали не саму базу данных, а лишь все ее таблицы. Поэтому создайте вначале БД, зайдите в нее и нажмите кнопку импорт, проделав все указанное выше. Нажав кнопку ок, у Вас все получится, и если Вы все сделали правильно, ошибки появиться не должно.



Как видите, наша таблица вновь появилась на своем месте, а также все данные в ней были сохранены. Теперь Вы понимаете, какая замечательная возможность экспорт и импорт базы данных в PHPMyAdmin . Ведь если Вы потеряете в один день все ваши наработки за долгие годы, благодаря данному файлу Вы сможете все вернуть. На этом я с Вами прощаюсь до скорого.

Система управления базами данных MySQL является одним из самых популярных решений для создания универсальных и гибких сервисов хранения данных web-приложений. Драйверы для работы с СУБД MySQL включены в подавляющее число дистрибутивов современных CMS. Для большинства популярных скриптов и систем управления содержимым существуют базы с начальным заполнением данными. Нужно только импортировать базу mysql чтобы начать работу.

Вам понадобится

Инструкция

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

Определите кодировку текста дампа базы, если она не известна заранее. Откройте файл в редакторе или программе просмотра, допускающей динамическое изменение кодировки. Подберите кодировку документа.

Соединитесь с сервером MySQL. Запустите из консоли программу-клиент mysql с указанным именем хоста и пользователя. Имя хоста задается при помощи параметра -h командной строки, а имя пользователя - при помощи -u. Также можно указать в командной строке пароль для доступа к серверу при помощи ключа --password, либо оставить этот параметр без значения (тогда пароль будет запрошен при подключении).Введите в консоли команду вида:
mysql -h HostName -u UserName --password=UserPassword
и нажмите клавишу Enter. Здесь HostName - имя хоста (оно может быть как символическим, так и представлять собой IP-адрес), UserName - имя пользователя СУБД, а UserPassword - пароль. При успешном подключении в консоль будет выведено сообщение, а также отображено приглашение для ввода команд.

В данной статье рассмотрим два вопроса - как можно осуществить импорт баз данных и как решить проблему с импортом больших баз данных с помощью изменений настроек в php.ini.

Как известно, резервное копирование данных - это гарантия того, что вы сможете восстановить свой сайт, если вдруг, в силу каких либо причин, работа сайта будет нарушена. Как восстановить сайт из резервной копии? Существует несколько способов, мы рассмотрим как можно осуществить импорт базы данных mysql в phpMyAdmin. Прежде чем начинать процесс импорта базы данных, нужно из базы данных, куда вы собираетесь импортировать файлы, удалить все таблицы.

Чтобы удалить таблицы, войдите на главную страницу phpMyAdmin и выполните следующие действия:


2 - нажмите Отметить все;
3 - выберите в выпадающем меню Удалить и нажмите ОК,

Теперь можно приступать к импорту базы данных mysql. Для этого выполните следующие действия:

1 - выберите нужную базу данных;
2 - откройте вкладку Импорт в верхнем меню;
3 - через Обзор найдите резервную копию с базой данных и нажмите ОК.


Если вы все сделали правильно, в окне phpMyAdmin появится сообщение об успешном завершении импорта.

Импорт больших баз данных mysql

Часто вебмастера сталкиваются с проблемой импорта больших баз данных mysql. Проблема связана с тем, что в PHPMyAdmin загрузка дампа базы данных ограничивается размером закачиваемого файла, который по умолчанию не должен превышать 2MB (2,048 КБ). При попытке загрузить дамп большой базы данных появляется сообщение об ошибке: «Вероятно, размер загружаемого файла слишком велик… » и т.д.

Рассмотрим один из способов импорта дампа большой базы данных. Предел размера импортируемого файла определяется конфигурацией PHP. Настройки конфигурации PHP прописаны в файле php.ini. Значит, для импорта больших баз данных нам потребуется в файле конфигурации php.ini изменить максимальный размер загружаемых файлов.

Где находится файл php.ini? Путь к файлу php.ini вы можете вычислить следующим образом:

  • Создайте файл info.php и поместите в него следующий код ;
  • Загрузите созданный файл в корневую папку сайта (www, public_html);
  • В адресную строку браузера введите адрес http://your_site/info.php;
  • В открывшемся окне найдите Loaded Configuration File, где и будет указан путь к файлу;

Для импорта большой базы данных mysql нужно изменить директивы php.ini в PHPMyAdmin.

Файл php.ini найден, теперь осталось его отредактировать, а точнее, изменить несколько директив в файле таким образом, как показано ниже:

Максимальное время (сек) для полной загрузки скрипта:
max_execution_time = 60
Максимальное время (сек) заданное для получения скриптом всех данных:
max_input_time = 90
Максимальный объем памяти, который разрешается использовать скрипту:
memory_limit = 128M
Максимальный допустимый размер загружаемых файлов:
upload_max_filesize = 200M
Максимальный размер передаваемых данных, который будет принимать PHP:
post_max_size = 180M

Изменив вышеперечисленные директивы в php.ini, мы получили возможность импортировать через PHPMyAdmin базы данных объемом до 180 М.


Для импорта дампа базы данных вы можете также воспользоваться бесплатной версией программы Sypex Dumper. Дампер оптимизирован для максимальной скорости работы, а также работы с базами данных объёмом около 800 мегабайт.

Экспорт и импорт данных в MySQL обычно требуется при переносе информации из одной базы данных MySQL в другую и для осуществления резервного копирования.
Резервное копирование данных носит чисто технологический характер. Это означает, что в случае какого-либо программного или аппаратного сбоя оборудования, будет возможность восстановить актуальные данные.
Единственный способ быть уверенным в 100% восстановлении данных — самостоятельно выполнять регулярное резервное копирование информации. Для этого необходимо воспользоваться утилитой mysqldump, которая доступна через unix shell.

Пример команд для экспорта и импорта базы данных:

Данные будут сохранены в файле dump.sql. Далее (в случае необходимости) восстанавливаем данные из резервной копии (дампа) так:

Запускаемые указанным образом утилиты для работы с MySQL будут запрашивать пароль к базе данных. Нужно вводить пароль соответствующего пользователя БД.

По умолчанию система считает, что данные в базе хранятся в кодировке Windows-1251. Если ваши данные хранятся в другой кодировке, то после создания резервной копии (дампа) для последующего корректного восстановления данных необходимо открыть созданный файл текстовым редактором и исправить в нём строчку:

Дополнительные опции утилиты mysqldump:

--add-drop-table — опция, которая добавляет команду DROP TABLE перед созданием таблиц. Перед восстановлением таблиц из дампа, таблицы с таким же именем в рабочей базе данных будут удалены и пересозданы из резервной копии. Рекомендуется использовать для предотвращения возможных ошибок после восстановления;
--add-locks — опция, которая добавляет команды LOCK TABLES перед выполнением и UNLOCK TABLE после выполнения каждого дампа таблицы. Применяется для ускорения доступа к MySQL;
--quote-names — опция, сообщающая утилите о необходимости ставить кавычки для названий таблиц и столбцов. Рекомендуется к использованию для MySQL версий, младше 4.1.1. В старших версиях она активирована по умолчанию.
Опции --quick и --opt рекомендуется использовать, если база данных MySQL слишком большая для того, чтобы целиком поместиться в памяти.
При этом утилита mysqldump выдает ошибку:

или такой

Для совместимости дампа, сделанного на стороннем сервере мы рекомендуем создавать дамп базы данных с ключом: либо такой:

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

Если на вашем сервере установлена версия MySQL 4.0.x, то для корректного переноса данных со сторонних серверов необходимо при экспорте базы данных использовать ключ:

--compatible=mysql40

В этом уроке рассматривается такие важные вопросы, как экспорт базы данных и импорт базы данных MySQL. Вы спросите, зачем вообще базы данных экспортировать? Как правило, это делается по причине резервного копирования базы данных, чтобы она всегда была под рукой, как говорится, на всякий «пожарный» случай. Ведь никто не застрахован от форс-мажорных обстоятельств таких, например, как аварии на хостинге, которые могут повлечь к потере данных. Другим примером может быть атака хакеров, которые хотят нанести вашему сайту вред. На самом деле, таких примеров может быть много.

Импорт базы данных используется, когда требуется «перезалить» на текущий хостинг базу данных, либо при переходе на другой хостинг. Это также часто проделывается на практике веб-мастерами.

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

Для экспорта базы данных нужно зайти в админ-панель хостинга, после чего перейти в раздел с базами данных — Базы данных MySQL.


Выбираем базу данных, которую хотим экспортировать (заходим в phpMyAdmin). В данном примере база данных называется «cl209038».


1) В первом случае выбираем — «Быстрый», формат оставляем SQL и нажимаем кнопку «OK». В результате на наш компьютер загрузится копия базы данных.


2) Во втором случае выбираем — «Обычный». Появится страница с настройками экспорта базы данных. Выделяем все таблицы, выбираем кодировку и степень компрессии, как показано ниже. Остальное, как правило, менять не нужно. Нажимаем кнопку «OK» и база данных экспортируется на наш компьютер.

Вот и все, как видно, экспорт базы данных MySQL — задача несложная.

Для импорта базы данных также нужно зайти в админ-панель хостинга, перейти в раздел с базами данных MySQL. Здесь возможны два варианта — либо нужно создать новую базу данных, либо делать экспорт в уже существующую.

Создание базы данных потребуется, например, если мы переносим сайт на другой хостинг. Если же хостинг у нас все тот же и база уже создана, то можно просто выбрать эту базу и в нее данные «перезалить». Можно, конечно, и удалить ее, потом создать новую (пустую) и в нее уже сделать выгрузку.

1) База уже есть. Выбираем базу данных для импорта в нее нашей копии базы. Появится меню импорта в базу данных.


Выбираем файл копии базы данных, которую требуется импортировать. При необходимости можно сменить кодировку и формат базы. Далее нажимаем кнопку «ОК». После импорта система нас проинформирует корректно ли все прошло или в процессе возникли какие-то ошибки. Если возникли ошибки — можно попробовать удалить базу данных на хостинге, затем создать пустую базу данных и произвести импорт базы данных заново.

2) Создание новой базы данных. Заходим в админ-панель хостинга, выбираем раздел с базами данных MySQL. Мы попадаем в управление базами данных MySQL.


Указываем желаемое имя базы данных и пароль к ней. Нажимаем кнопку «Создать». В итоге должна создаться новая (пустая) база данных — в нее и нужно будет делать импорт ранее сохраненной копии нашей базы данных.

Вот и все, что хотелось рассказать про экспорт и импорт баз данных MySQL. Если возникнуть сложности касательно этих вопросов — пишите комментарии к данному уроку.