Как импортировать LARGE sql файлы в таблицу mysql - PullRequest
6 голосов
/ 18 февраля 2012

У меня есть php-скрипт, который анализирует XML-файлы и создает большой файл SQL, который выглядит примерно так:

INSERT IGNORE INTO table(field1,field2,field3...)
VALUES ("value1","value2",int1...),
("value1","value2",int1)...etc

Этот файл составляет более 20 ГБ (я тестировал на 2,5 ГБфайл, но он тоже не работает).

Я пробовал такие команды, как:

mysql -u root -p table_name

это работает с небольшими файлами, скажем, около 50 МБ.но он не работает с большим файлом.

Я пытался:

mysql> source /var/www/bigfile.sql

Я также пробовал mysqlimport, но он даже не будет правильно обрабатывать мой файл.

Я продолжаю получать сообщение об ошибке

ERROR 2006 (HY000): MySQL server has gone away

Бывает ок.Через 30 секунд после начала выполнения.

Я установил значение allow_max_packet равным 4 ГБ, но при проверке с помощью SHOW VARIABLES отображается только 1 ГБ.

Есть ли способ сделать это, не теряя еще 10 часов?1026 *

1 Ответ

2 голосов
/ 18 февраля 2012

Попробуйте разбить файл на несколько запросов INSERT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...