Импорт данных из TXT-файла в MySQL Workbench - Windows - PullRequest
0 голосов
/ 16 мая 2018

У меня есть огромное количество данных в файле .txt (что-то вроде 90.000 строк и 10 столбцов, каждый «элемент» разделяется запятой), и мне нужно найти способ импортировать его из моего файла txt вMySQL таблица.Я провел некоторое исследование и нашел следующий код:

LOAD DATA INFILE "/my_path/file.txt" INTO TABLE "table" CHARACTER SET "utf8" FIELDS TERMINATED BY "," LINES TERMINATED BY "\r\n";

, но это дает мне следующую ошибку:

Error Code: 29. File '/my_path/file.txt' not found (OS errno 13 - Permission denied)    0.000 sec

Так что после поиска немного больше, я обнаружил, что многолюди имели эту проблему, но решили ее, просто поместив слово «LOCAL» (LOAD DATA LOCAL INFILE), но это дает мне такую ​​ошибку:

Error Code: 1148. The used command is not allowed with this MySQL version   0.000 sec

(я использую MySQL Workbench 8.0)

Поэтому я попытался установить некоторые глобальные переменные, такие как secure-file-priv="", loose-local-infile=1 и local-infile=1, в моем файле my.ini, но, похоже, ничего не работает.

Может кто-нибудь помочь мне, пожалуйста ...

Ps 1 : я не могу использовать импорт мастера, потому что, хотя он будет работать, он слишком медленный

Ps 2 : я пыталсяпреобразовать мой текстовый файл в CSV, но он тоже не сработал.

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

У OP было 2 проблемы:

a) mysql не имел доступа к входному файлу с точки зрения прав доступа

b) входной файл был закодирован неправильно.

Как только проблема доступа была решена и кодировка входного файла была исправлена ​​до utf8, загрузка работала правильно.

0 голосов
/ 16 мая 2018

Без LOCAL, LOAD DATA INFILE указывает серверу MySQL найти файл в файловой системе его собственной машины и прочитать его.

Итак, путь и файл должны существовать на сервере. И учетные данные (имя пользователя), под которыми работает сервер MySQL, должны иметь доступ для чтения к файлу.

Ваша ошибка permission denied подсказывает мне, что сервер MySQL не может прочитать файл.

...