У меня есть php-скрипт, который анализирует XML-файлы и создает большой файл SQL, который выглядит примерно так:
INSERT IGNORE INTO table(field1,field2,field3...) VALUES ("value1","value2",int1...), ("value1","value2",int1)...etc
Этот файл составляет более 20 ГБ (я тестировал файл 2,5 ГБ, но он тоже не работает).
Я пробовал команды вроде:
это работает на небольших файлах, скажем, около 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 часов?
Попробуйте разбить файл на несколько запросов INSERT.