указать OUTFILE путь - PullRequest
       4

указать OUTFILE путь

1 голос
/ 02 декабря 2011

Я использую базу данных MySQL на компьютере Ubuntu и выполняю следующую инструкцию SQL:

SELECT id,name FROM cars 
INTO OUTFILE 'my_cars.dat'

LOAD DATA INFILE 'my_cars.dat' INTO TABLE all_cars(id, name);

Это работает. Но как я также могу указать путь , куда помещается файл my_cars.dat ??

Я имею в виду, например, я хочу файл my_cars.datчтобы поставить под /data/temp, как я могу указать это ??

Я пытался использовать ... INTO OUTFILE '/data/temp/my_cars.dat' ..., но он не работает ...

Я получил ошибку:

ERROR 1 (HY000): Can't create/write to file '/data/temp/my_cars.dat' (Errcode: 13)

Ответы [ 2 ]

0 голосов
/ 02 декабря 2011

Пара возможных причин:

  1. (и я подозреваю, что это так). outfile записывается клиентом, поэтому он может писать только туда, где у вас есть права на запись. Предполагая, что /data/temp существует (см. # 2), он, скорее всего, принадлежит mysql:mysql или root:root и privs 700.
  2. Местоположение MySQL по умолчанию (по крайней мере, в Ubuntu) /var/lib/mysql, поэтому убедитесь, что существует /data/temp.
0 голосов
/ 02 декабря 2011

С каким пользователем вы запускаете mysql?Есть ли у него разрешения на запись в / data / temp?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...