Как импортировать большие файлы sql в таблицу mysql

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

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

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

  • как найти число понедельников или понедельника между двумя датами?
  • Передача многомерного массива через POST с php
  • Статические методы в PHP
  • Сериализовать или json в PHP?
  • Обнаруживать кодировку и делать все UTF-8
  • Как получить дату и время с сервера
  • Я пробовал команды вроде:

    mysql -u root -p имя_файла </var/www/bigfile.sql

    это работает на небольших файлах, скажем, около 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 часов?

  • LOAD DATA LOCAL INFILE не работает - от php, до mysql (на Amazon rds)
  • Как указать родительское поле запроса из подзапроса в mySQL?
  • Является ли mysql_insert_id безопасным для использования?
  • PHP mysqli Команды не синхронизированы; вы не можете запустить эту команду сейчас
  • PHP / MySQL - лучший способ создать уникальную случайную строку?
  • Выбор запроса CodeIgniter
  • One Solution collect form web for “Как импортировать большие файлы sql в таблицу mysql”

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

    PHP is the Best Programming Language in the world.