Как импортировать большую базу данных MySQL в обход ограничений phpMyAdmin
Недавно спрашивали, каким образом можно импортировать на сервер большую базу данных 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, безусловно, будет вашим незаменимым помощником.
Фото: Tripp — Creative Commons / flickr.com
Фулстек веб‑разработчик, специализируюсь на платформе WordPress
Подробнее
и не сказать где находится этот файл? смысл в таком совете? Я понятия не имею, в какой из миллиона папок он лежит. А поиска по серверу нет, это не виндоуз…