Как импортировать базу MySQL?
Татьяна, Казань 0
Получила от прошлого разработчика дамп базы в файле .sql, весит около 300 МБ. Пробовала загрузить через phpMyAdmin в панели хостинга, страница просто зависает и потом выдаёт ошибку про превышение лимита. Как быть с таким объёмом?
Дмитрий Акиндинов технический администратор сайтов
ответил
Небольшие дампы, до 20-50 МБ в зависимости от настроек хостинга, спокойно грузятся через phpMyAdmin кнопкой «Импорт»: выбираете файл .sql, ждёте загрузки. Для файла на 300 МБ этот способ не подходит — вы упираетесь в лимит upload_max_filesize и max_execution_time на стороне PHP, отсюда и зависание с обрывом.
Правильный путь для больших дампов — импорт через консоль по SSH, если хостинг его даёт: команда mysql -u имя_пользователя -p имя_базы < дамп.sql не ограничена размером загрузки браузера и работает с файлами любого веса. Если файл сжат в .sql.gz, распаковывать заранее не обязательно — можно направить через gunzip < дамп.sql.gz | mysql -u имя_пользователя -p имя_базы.
Если SSH-доступа нет, у части хостингов есть встроенный инструмент импорта больших файлов в панели управления, часто через FTP-загрузку с последующим запуском отдельно от веб-интерфейса phpMyAdmin — стоит проверить документацию конкретного хостинга, названия у всех разные. Альтернатива — скрипт bigdump.php, который читает большой файл частями через обычную загрузку по FTP.
Перед импортом убедитесь, что база данных на новом месте создана заранее и пустая, а кодировка выставлена utf8mb4 — иначе кириллица в текстах после импорта превратится в вопросительные знаки или кракозябры, и придётся переделывать всё заново.
Задать свой вопрос
Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.
Вопрос отправлен. После проверки он появится на сайте вместе с ответом.
Вопрос не отправлен: нужно подтвердить согласие на обработку персональных данных.