Ответ 1
попробуйте использовать LOAD DATA LOCAL INFILE
вместо LOAD DATA INFILE
else проверьте, что apparmor активен для вашего каталога
Я просмотрел все и не нашел решения, любая помощь в этом была бы большой.
Query:
LOAD DATA INFILE '/Users/name/Desktop/loadIntoDb/loadIntoDB.csv'
INTO TABLE `tba`.`tbl_name`
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(
field1, field2, field3
)
Ошибка:
Can't get stat of '/Users/name/Desktop/loadIntoDb/loadIntoDB.csv' (Errcode:2)
Примечание:
Я запускаю браузер MySQL Query в OSX 10.6.4, подключающийся к MySQL 5.x
Вещи, которые я пробовал:
попробуйте использовать LOAD DATA LOCAL INFILE
вместо LOAD DATA INFILE
else проверьте, что apparmor активен для вашего каталога
У меня была аналогичная проблема. Резолюция была мягко уродливым взломом, но гораздо легче запомнить, чем обходные решения, при условии, что вы можете "судо". Во-первых, мне пришлось поместить входной файл в подкаталог mysql для используемой базы данных:
sudo cp myfile.txt /var/lib/mysql/mydatabasename
Это делает копию и оставляет "root
" в качестве владельца файла. После перехода в mysql и выполнения USE mydatabasename
, я смог заполнить соответствующую таблицу, используя
LOAD DATA INFILE 'mytabdelimitedtextfile.txt' INTO TABLE mytablename;
Использование параметра --local поможет с этим.
Пример: mysqlimport --local databasename file.txt -p
Источник: http://dev.mysql.com/doc/refman/5.1/en/load-data.html "Параметр -local заставляет mysqlimport читать файлы данных с хоста клиента"
Для меня копирование содержимого в /tmp и использование этого в качестве исходной папки сделали трюк. Я использую MariaDB, и моя версия не позволяет использовать модификатор "LOCAL". Интересно, что предоставление доступа для чтения и записи в папку CSV тоже не работало.
У меня была та же проблема при заполнении таблицы в mysql в экземпляре AWS.
В моем случае у меня был файл csv в самом экземпляре.
Помещение Абсолютного пути разрешило мою проблему.
Здесь строка из документации MySQL
Если указан LOCAL, файл считывается клиентской программой на клиентском хосте и отправляется на сервер. Файл можно указать как полное имя пути, чтобы указать его точное местоположение. Если задано как относительное имя пути, имя интерпретируется относительно каталога, в котором была запущена клиентская программа.