ошибка secure-file-priv при импорте CSV-файла в SQL - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь импортировать CSV-файл в SQL, пожалуйста, найдите следующий код:

ЗАГРУЗИТЬ ИНФИЛЬ ДАННЫХ 'C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ Uploads \ Assignment \ Auto.csv' INTO TABLEприсваивания. Auto ПОЛЯ, ПРЕКРАЩАЕМЫЕ ',' ЛИНИИ, ПРЕКРАЩАЕМЫЕ '\ r \ n' ЛИНИИ 1;

Выдает ошибку:

Код ошибки: 1290. Сервер MySQLработает с параметром --secure-file-priv, поэтому он не может выполнить этот оператор 0,016 сек

Затем я попытался с ключевым словом LOCAL (как упоминалось в некоторых решениях), и он выдал ошибку:

Код ошибки: 1148. Используемая команда недопустима с этой версией MySQL 0,000 с

Поскольку я нашел много решений для этого, поэтому я проверил значение этой переменной вручную в сеансе с командой:

ПОКАЗАТЬ ПЕРЕМЕННЫЕ, КАК "secure_file_priv";

вывод для этого:

secure_file_priv C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ Uploads \

** Это то же место, которое я использую в данных загрузкиth выше.

Я проверил файл C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini и он имеет следующие данные:

Защищенный файл Priv.

secure-file-priv = "C: / ProgramData / MySQL / MySQL Server 8.0 / Uploads" Может кто-нибудь сказать, пожалуйста, в чем здесь проблема и как я могу решить эту проблему.

1 Ответ

0 голосов
/ 24 января 2019

Если вы хотите использовать LOAD DATA LOCAL INFILE …, вам нужно установить для глобальной переменной MySQL Server local_infile значение true.

SET GLOBAL local_infile = true;

Вам также необходимо передать --local-infle параметр mysql клиенту командной строки

mysql --local-infile -hlocalhost -uroot -p

Об ошибке secure file priv - ваш Auto.csv файл находится на той же машине, где работает MySQL Server?

...