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

Экспорт и импорт данных в 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. Если возникнуть сложности касательно этих вопросов — пишите комментарии к данному уроку.

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



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



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



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



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

28 апреля 2014 19 967 4

Меня часто спрашивают, каким образом можно импортировать на сервер большую базу данных MySQL? Известно, что phpMyAdmin по-дефолту имеет ограничения на размер импортируемой БД.

Если ваш дамп не намного превышает допустимый лимит, можно его разбить на несколько частей и импортировать в несколько заходов. Это оправдано если, к примеру, лимит составляет 2Мб, а ваша база имеет размер 5-10 Мб. Понятно, что «резать» базу весом 100Мб на 50 частей - процесс довольно трудоемкий и затратный в плане временнЫх ресурсов.

Существует несколько вариантов решения этой задачи.

Редактируем конфиг веб-сервера

На VDS/VPS особых проблем с этим не наблюдается, достаточно лишь подкорректировать конфиг. А именно, в php.ini увеличить допустимые максимальные значения для загружаемых на сервер файлов, максимальный размер для файлов передаваемых методом POST:

Post_max_size = 2000M upload_max_filesize = 2000M

Кроме этого, если ваша БД очень большая, следует увеличить максимально допустимое время выполнения скрипта.

Max_execution_time = 32000 max_input_time = 32000

И на всякий случай можно увеличить размер допустимого объема оперативной памяти:

Memory_limit = 512M

После внесения изменений, обязательно перезагрузите веб-сервер.

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

Sypex Dumper

Можно воспользоваться сторонним софтом. И первое приложение на которое стоит обратить внимание - это Sypex Dumper .

Впервые воспользовавшись им много лет назад и оценив все его возможности и достоинства, я могу смело повесить ему ярлык «Must Have». Sypex Dumper - серверное приложение на PHP не требующее установки. Его достаточно скопировать, к примеру, в корень вашего сайта в директорию sxd и вызвать его в браузере: http://Ваш_Сайт/sxd/. Стоит заметить, что предварительно в директорию backup следует поместить дамп вашей базы данных. После инициализации скрипта вы увидите панель авторизации для подключения к базе. Вводим свой логин и пароль. Хост и порт - опционально, только если они специфические.

После авторизации можно перейти непосредственно к иморту БД. В поле «База данных» будет выбрана БД к которой вы подключены, а в поле «Файл» вы увидите ранее загруженный вами дамп в директорию Backup.


Для большинства случаев никакие дополнительные настройки больше не нужны и можно смело запускать импорт, нажав на кнопку «Выполнить». Импорт, в зависимости от размера БД и вашей скорости соединения с Интернет может занять некоторое время. Во время импорта вы можете видеть какие именно таблицы импортируются в данный момент в базу. По завершению работы скрипта вы увидите лог выполнения. Он выглядит, примерно, так:


Вот, собственно, и все - база импортирована!

Консоль

Импорт через консоль рассматривать не будем. Я думаю, люди, пользующиеся консолью без меня знают как импортировать любую БД. А простым пользователям без специальной подготовки лучше туда не соваться. Так как выполнение некоторых команд может привести к серьезным последствиям, вплоть до полного падения сервера.

В заключение

Я не берусь утверждать, что Sydex Dumper - это единственное и правильное решение. Существуют и другие более элегантные способы, которые требуют от пользователя определенных знаний и соответствующие доступы к настройках сервера.

Но в условиях виртуального хостинга, Sydex Dumper, безусловно, будет вашим незаменимым помощником.

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

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

Инструкция

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

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

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