как импортировать очень большой запрос через phpmyadmin?

если мой хост не позволяет мне загружать файл непосредственно в мою папку mysql, и я могу сделать это только через phpmyadmin? Существуют ли какие-либо альтернативы, помимо встроенной функции импорта, чтобы мое соединение не прерывалось при загрузке запроса размером около 8 МБ?


person lock    schedule 09.01.2009    source источник


Ответы (6)


вы можете сжать файл с помощью gzip или bzip, а phpMyAdmin распаковает и запустит скрипт.

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

person nickf    schedule 09.01.2009
comment
Я бы сказал ровно то же самое. - person Philip Morton; 09.01.2009

Не используйте phpmyadmin для чего-либо критического. Определенно не используйте его для создания резервных копий или восстановления. Это мешок с мусором.

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

Доступ к оболочке необходим для работы с базами данных mysql.

Не ожидайте, что что-либо, сделанное с помощью phpmyadmin, НЕ уничтожит все ваши данные.

person MarkR    schedule 09.01.2009
comment
ржу не могу. Всегда делайте резервные копии перед чем-либо критическим. Я использую phpmyadmin в течение многих лет, но только после того, как я сделал резервную копию базы данных с помощью скрипта bash. Никогда не приходилось восстанавливать обратно к нему. - person matpie; 09.01.2009
comment
Как мне сделать X в Y? ... Не используйте Y, это мусор. Не полезный ответ ИМО. - person nickf; 02.02.2010
comment
phpmyadmin не является стандартным способом создания резервных копий mysql, и предыдущие версии создавали невосстанавливаемые резервные копии. Кроме того, поскольку он работает на PHP, он часто имеет ограниченное время выполнения скрипта, которое может превысить резервная копия. Некоторые люди обнаружили, что резервные копии, созданные phpmyadmin, не могут быть восстановлены. Инструмент mysqldump был тщательно протестирован; phpmyadmin содержит повторную реализацию инструмента, которого нет. - person MarkR; 30.08.2012

BigDump?

Поэтапный импорт больших и очень больших дампов MySQL (например, дампов phpMyAdmin 2.x) даже через веб-серверы с жестким ограничением времени выполнения и те, которые находятся в безопасном режиме. Скрипт выполняет лишь небольшую часть огромного дампа и перезапускается сам. Следующая сессия начинается там, где была остановлена ​​последняя.

Вы можете загрузить дамп с помощью FTP-клиента (который позволит вам возобновить передачу) и загрузить его локально.

person dbr    schedule 09.01.2009
comment
phpMyAdmin делает это и сейчас. Если время ожидания для большого файла истекает, он сообщает вам, до какой записи он был. затем вы можете снова выполнить восстановление и просто сказать ему номер записи, и он заберет его оттуда. - person nickf; 10.01.2009

Я бы определенно сказал BigDump. у меня была именно эта проблема с файлом sql размером 8,3 ГБ. прочитайте эту статью для получения дополнительной информации. Как загрузить большой файл SQL в MySQL также посетите домашнюю страницу скрипта, чтобы загрузить его.

person MoeAmine    schedule 02.02.2010

Смотрите мой ответ здесь: https://stackoverflow.com/a/33728744/74585

Если во время операции импорта вы снимаете флажок Частичный импорт -> Разрешить прерывание импорта... тогда phpMyAdmin, похоже, отправляет все это в mysql, который обрабатывается медленно. К сожалению, phpMyAdmin (по крайней мере, на моем общем хосте) больше не будет отвечать на запросы, но использование браузера на другом IP-адресе работает и позволяет отслеживать ход выполнения запроса.

person Matthew Lock    schedule 18.11.2015

Я говорю - используйте Sypex Dumper.

person Vladislav Rastrusny    schedule 22.03.2012