BigDump — НЕОЖИДАННО: Не удается установить указатель на файл за концом файла

#mysql

#mysql

Вопрос:

При попытке запустить uplaod sql-файл объемом 3,9 ГБ через BigDump возникает ошибка

НЕОЖИДАННО: Не удается установить указатель на файл за концом файла

Дамп базы данных был экспортирован из phpMyAdmin. Файл не поврежден. В чем проблема? Какие есть другие способы импортировать такую большую базу данных?

Комментарии:

1. Где вы пытаетесь загрузить файл, используя что, на какой сервер, на котором что запущено?

2. С сервера в Unix на сервер в Windows. Оба являются стандартными серверами Apache / PHP / MySQL.

3. Как загрузить? Вы имеете в виду LOAD DATA INFILE... ?

4. Это может быть проблема файловой системы — 4 ГБ — это магический предел в некоторых файловых системах. Вы неясно объясняете, где именно возникает ошибка и что вы делаете, поэтому невозможно дать более подробную информацию

5. @ELi Upliad с помощью bigdump.php скрипт

Ответ №1:

Bigdump использует INSERT INTO table VALUES (....) какой-то метод.

Это очень медленный способ вставки!

Использовать

 LOAD DATA INFILE 'c:/filename.csv' INTO TABLE table1
  

Вместо этого. Обратите внимание на использование косых черт даже в Windows.
Смотрите: http://dev.mysql.com/doc/refman/5.1/en/load-data.html

Это самый быстрый из возможных способов вставки данных в таблицу MySQL.
Это сработает, только если входной файл находится на том же сервере, что и сервер MySQL.

Ответ №2:

Я получаю аналогичную ошибку: I can't seek into .sql

Причина этой ошибки в том, что BigDump пытается установить указатель в конце .sql-File , а затем узнать его размер (используя функции fseek() и fteil() ). Поскольку fseek() происходит сбой при повторной работе с файлами 2GB , вы получаете эту ошибку. Решение состоит в том, чтобы разделить ваш SQL-файл на фрагменты размером 1,5 — 2 ГБ…