2014-08-29 5 views
0

Что я пытаюсь сделать:
Ошибка при использовании LOAD DATA LOCAL INFILE

Я пытаюсь использовать LOAD DATA LOCAL INFILE. У меня есть файл csv на сервере, над которым я работаю, который я хочу загрузить в таблицу в базе данных MySQL. Я использовал следующее:

LOAD DATA LOCAL INFILE '/var/www/load_data_test.csv' 
INTO TABLE name_age 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
IGNORE 1 ROWS; 

Что Моя проблема заключается в:

Моя проблема является кодом ошибки. Когда я запускаю это в MySQL (HeidiSQL), я получаю следующее сообщение об ошибке:

SQL Error (2): Файл '\ вар \ WWW \ load_data_test.csv' не найден (ERRCODE: 2)

что я пробовал:

Я гугле эту проблему и все ссылки, которые я нажал на поводке меня попробовать следующее:

  1. Настройка разрешений для файла на Octal: 7777. Я предоставил разрешения для чтения, записи и выполнения для владельца, группы и других. Это не сработало. Мне все же было предоставлено то же сообщение об ошибке, что и выше.

  2. Вывод слова LOCAL в операторе MySQL. Я изменил первую строку команды SQL на LOAD DATA INFILE '/var/www/load_data_test.csv'. Это не сработало и появилось следующее сообщение об ошибке:
    SQL Error (29): File 'var/www/load_data_test.csv' not found (Errcode: 13).

  3. Переключить владельца в соответствии с его файлами на root. Это не работает. Когда я пытаюсь это сделать, я получаю сообщение об ошибке Command 'chown "root" "load_data_test.csv"' failed with return code 1 and error message chown: changing ownership of 'load_data_test.csv': Opertion not permitted..

Возможные ограничения

  • Мой недостаток знаний, относящихся к уровням разрешения. Раньше я никогда не работал с уровнями разрешений.

  • Недостаток знания, относящийся к команде LOAD DATA (LOCAL) INFILE. Я не знаком с этой командой MySQL, и это мой первый раз, используя ее.

  • У меня нет доступа root на сервере Linux или MySQL.

Я 100% уверен, что файл CSV Я пытаюсь загрузить на таблицу базы данных на сервере, так что я запутался, почему он даже не признают его в первую очередь. Любая помощь будет принята с благодарностью.

ответ

0

Я только что нашел быстрое решение своей проблемы. Проводя его на всякий случай, кто-то, кто сталкивается с этим, тоже нуждается в решении.

В HeidiSQL вы можете загружать файлы CSV через графический интерфейс, и когда вы это делаете, он дает вам синтаксис для загрузки файла (GUI также использует команду LOAD DATA LOCAL INFILE). Я был в состоянии получить тот же файл CSV, на моем собственном компьютере, чтобы загрузить в таблицу MySQL на моем сервере, используя следующий синтаксис:

LOAD DATA LOCAL INFILE 'C:\\Users\\acarella\\Desktop\\load_data_test.csv' 
INTO TABLE `ug_warehouse`.`name_age` 
FIELDS TERMINATED BY ',' 
IGNORE 1 LINES (`name`, `age`); 

Это, вероятно, мой первый раз, отвечая на вопрос о StackOverflow, так что если неортодоксально отвечать на свой вопрос, тогда я буду избегать этого в будущем.

-Anthony

Смежные вопросы