XML ファイルを解析し、次のような大きな SQL ファイルを作成する php スクリプトがあります。
INSERT IGNORE INTO table(field1,field2,field3...)
VALUES ("value1","value2",int1...),
("value1","value2",int1)...etc
このファイルは合計で 20 GB を超えます (2.5 GB のファイルでテストしましたが、これも失敗します)。
次のようなコマンドを試しました:
mysql -u root -p テーブル名 < /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 VARIABLES で確認すると 1GB しか表示されません。
さらに10時間を無駄にせずにこれを行う方法はありますか?