У меня есть большой CSV-файл, который я пытаюсь импортировать в MySQL (около 45 ГБ, около 150 миллионов строк, большинство столбцов маленькие, но один с текстом переменной длины, может достигать размера до КБ). Я использую LOAD DATA LOCAL INFILE, чтобы попытаться импортировать его, но сервер всегда отключает мое соединение до его завершения. Я попытался изменить глобальные переменные тайм-аута подключения, чтобы исправить это, но до истечения времени ожидания уже есть несколько часов. Есть ли другой способ импортировать такую большую базу данных, или я что-то не так делаю с этим подходом?
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE table CHARACTER SET latin1
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
LINES TERMINATED BY '\r\n';
Я выполняю эту команду в Windows 10 с помощью командной строки MySQL. Моя версия MySQL - 8.0.
Да, я использую командную строку MySQL.
а с помощью информации об ОС вы можете обновить свой вопрос, чтобы люди могли воспроизвести вашу проблему.
Очевидное предложение: разделите файл на файлы меньшего размера.






Раньше я справлялся с этим путем написания php-скрипта, который считывает файл и выводит 50% верхних строк в новый файл, а затем удаляет эти строки. Затем выполните два файла с данными загрузки, один для исходного и один для нового.
В сочетании с @ Bill-Karwin я этим и закончил, хотя я разбиваю файл на 15 из 10 миллионов или меньше строк.
Какую программу вы используете для этого запроса? Командная строка mysql?