Экспорт и импорт данных mysql. Экспорт базы данных, импорт базы данных MySQL


При переносе сайта с локального сервера на хостинг, одной из обязательных процедур является экспорт/импорт БД (базы данных). Поэтому, в этой статье я попытаюсь, как можно более подробно описать процесс экспорта и импорта базы данных с локального сервера, то есть с веб-интерфейса PHPMyAdmin версии 3.2.3 на хостинг.

Первое, что нужно сделать, это запустить локальный сервер, в данном случает это Denwer. После запуска Denwer нужно открыть браузер и в браузерной строке прописать: «http://localhost/tools/phpmyadmin», после чего перед Вами откроется окно (Рис.1) с созданными ранее базами данных .

Рис.1

Далее нужно выбрать базу данных, которую мы будем экспортировать, в моем случае это БД с названием Mybd. Базу данных можно выбрать, кликнув по ней в левой части окна браузера, где написано «Please select a database» (Рис.2) .


Рис.2

После выбора нужной базы данных, откроется окно со структурой БД. В верхнем меню есть пункт «Export» с помощью которого, мы будем экспортировать БД на компьютер, чтобы потом импортировать её на хостинг. И так, переходим по пункту «Export» (Рис.3) .


Рис.3

В открывшемся окне нужно произвести некоторые измерения (Рис.4) , а именно: в блоке «Export» нужно выбрать все таблицы базы данных, нажав по пункту «Select All» и поставить галочку напротив пункта SQL , этот пункт отвечает за тип файла, который будет экспортирован. Также, необходимо поставить галочку напротив пункта «Save as file» , который обеспечит сохранение БД в файле. Остальные настройки менять не нужно, просто нажимаем кнопку «Go» .

Рис.4

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

Также, нужно сменить кодировку файла на UTF-8 без BOM, для изменения кодировки я использую текстовый редактор Notepad++ (Скачать ) . С помощью этой программы открываете файл базы данных и в меню «Кодировка» выбираете «Преобразовать в UTF-8 без BOM» (Рис.5) , после чего сохраняем и закрываем.


Рис.5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В данной статье рассмотрим два вопроса - как можно осуществить импорт баз данных и как решить проблему с импортом больших баз данных с помощью изменений настроек в 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. Известно, что 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, безусловно, будет вашим незаменимым помощником.

Подпишитесь на мой телеграм и первыми получайте новые материалы, в том числе которых нет на сайте.

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

Примечание. В базе данных MySQL не должно быть строки CREATE DATABASE (СОЗДАТЬ БАЗУ ДАННЫХ). В противном случае импорт может завершиться неудачей.

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

Внимание! Если вы импортируете базу данных для управляемого хостинга WordPress, чтобы ваш веб-сайт работал без сбоев.

Импорт файлов SQL в базы данных MySQL с помощью phpMyAdmin

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

Примечание. Если появится сообщение об ошибке Script timeout passed, if you want to finish import, please resubmit same file and import will resume (Лимит времени сценария истек. Чтобы завершить импорт, отправьте тот же файл повторно), вы можете сразу же выбрать тот же файл и возобновить процесс.