1

Я пытаюсь загрузить содержимое файла CSV в таблицу, используя следующие команды MySQL для Windows:

LOAD DATA LOCAL INFILE 'C:/Users/TD_DI_026.csv'
INTO TABLE digitalTags
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

но это дает мне ошибку The used command is not allowed with this MySQL version Я уже изменил файл my.ini, добавив в него:

[mysql]
loose-local-infile=1

и команда

SHOW GLOBAL VARIABLES LIKE 'local_infile';

показывает local_infile как включен.

Я также попытался, удалив Local и установив secure_file_priv = "" в my.ini, но я получаю Error Code: 29. File 'C:\Users\TD_DI_026.csv' not found (OS errno 13 - Permission denied)

Что может быть причиной этой проблемы?

2 ответа2

1

Это не проблема, а функция безопасности, вам нужно явно включить для каждого включения базы данных из локального файла:

mysql -u user -p --local-infile=1 YourDatabaseName

Убедитесь, что user предоставлена привилегия FILE

Кроме того, не помещайте файл CSV в C:\Users\TD_DI_026.csv , но используйте вместо него местоположение:

C:\Users\Public\Download\TD_DI_026.csv

Добавьте также это к my.cnf/my.ini:

[mysqld]
     local-infile = 1 
0

Код ошибки: 29. Файл 'C:\Users\TD_DI_026.csv' не найден (ОС errno 13 - Отказано в доступе)

MySQL не может получить доступ к файлу в C:\Users , возможно, потому что он принадлежит вам.

Поместите его туда, где MySQL Server сможет достучаться до него, или явно предоставьте доступ к некоторому каталогу пользователю MySQL.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .