если мой хост не позволяет мне загружать файл непосредственно в мою папку mysql, и я могу сделать это только через phpmyadmin? Существуют ли какие-либо альтернативы, помимо встроенной функции импорта, чтобы мое соединение не прерывалось при загрузке запроса размером около 8 МБ?
как импортировать очень большой запрос через phpmyadmin?
Ответы (6)
вы можете сжать файл с помощью gzip или bzip, а phpMyAdmin распаковает и запустит скрипт.
в противном случае то, что мне приходилось делать в прошлом, - это разбивать мой SQL на несколько файлов и загружать каждый из них по отдельности. Вы можете сделать это, просто открыв файл SQL в текстовом редакторе, прокрутив его примерно до половины, найдя начало оператора и переместив все после этого в другой файл.
Не используйте phpmyadmin для чего-либо критического. Определенно не используйте его для создания резервных копий или восстановления. Это мешок с мусором.
Войдите в свою оболочку и используйте клиент командной строки mysql для восстановления базы данных стандартным способом. Если вы не можете этого сделать, найдите лучшего провайдера.
Доступ к оболочке необходим для работы с базами данных mysql.
Не ожидайте, что что-либо, сделанное с помощью phpmyadmin, НЕ уничтожит все ваши данные.
Поэтапный импорт больших и очень больших дампов MySQL (например, дампов phpMyAdmin 2.x) даже через веб-серверы с жестким ограничением времени выполнения и те, которые находятся в безопасном режиме. Скрипт выполняет лишь небольшую часть огромного дампа и перезапускается сам. Следующая сессия начинается там, где была остановлена последняя.
Вы можете загрузить дамп с помощью FTP-клиента (который позволит вам возобновить передачу) и загрузить его локально.
Я бы определенно сказал BigDump. у меня была именно эта проблема с файлом sql размером 8,3 ГБ. прочитайте эту статью для получения дополнительной информации. Как загрузить большой файл SQL в MySQL также посетите домашнюю страницу скрипта, чтобы загрузить его.
Смотрите мой ответ здесь: https://stackoverflow.com/a/33728744/74585
Если во время операции импорта вы снимаете флажок Частичный импорт -> Разрешить прерывание импорта... тогда phpMyAdmin, похоже, отправляет все это в mysql, который обрабатывается медленно. К сожалению, phpMyAdmin (по крайней мере, на моем общем хосте) больше не будет отвечать на запросы, но использование браузера на другом IP-адресе работает и позволяет отслеживать ход выполнения запроса.