如何将大型sql文件导入到mysql表中

我有一个PHP脚本parsingXML文件,并创build一个大的SQL文件,看起来像这样:

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

这个文件加起来超过20GB(我已经testing了一个2.5GB的文件,但是也失败了)。

我尝试过的命令如下所示:

mysql -u root -p table_name </var/www/bigfile.sql

这适用于较小的文件,大约50MB。 但它不适用于较大的文件。

我试过了:

 mysql> source /var/www/bigfile.sql 

我也试过mysqlimport,但是这将不能正确处理我的文件。

我不断收到一个错误,说

 ERROR 2006 (HY000): MySQL server has gone away 

发生约。 我开始执行后30秒。

我将allowed_max_packet设置为4GB,但使用SHOW VARIABLESvalidation时只显示1GB。

有没有办法做到这一点,而不浪费另外10个小时?

尝试将文件拆分成多个INSERT查询。