Проблема MySQL. Не удается найти файл, созданный с помощью select, в файле Outfile '/tmp/aa.txt'

Я запустил файл гранта для своего пользователя. Я использую абсолютный путь. Пользователь Mysql имеет права писать в / tmp. Я просто не могу найти файл. Я запустил updateb, а затем нашел aa.txt, но безрезультатно.

Я бегу:

выберите "aaaaaa" в файле "/tmp/aa.txt";

Mysql отвечает: запрос ОК, затронута 1 строка (0,02 сек)

Во второй раз, когда я запускаю ту же команду, появляется ошибка:

ОШИБКА 1086 (HY000): файл '/tmp/aauua.txt' уже существует.

Я запускаю mysql 5.5.31 в Fedora 18. Кто-нибудь знает, что может быть не так?


person Diogo Melo    schedule 26.05.2013    source источник
comment
Клиент и сервер - это одна и та же машина?   -  person Barmar    schedule 26.05.2013
comment
Файл создается на стороне Сервера!   -  person carl    schedule 26.05.2013
comment
Клиент и сервер находятся на одной машине.   -  person Diogo Melo    schedule 26.05.2013
comment
Вместо использования в выходном файле я теперь фиксирую вывод клиента mysql (параметры mysq params ›output.txt). Но до сих пор этот вопрос не решен.   -  person Diogo Melo    schedule 28.05.2013
comment
Кто-нибудь знает?   -  person Diogo Melo    schedule 29.05.2013


Ответы (1)


Когда вы используете SELECT ... INTO OUTFILE, файл создается на хосте сервера.

Если вы знаете об этом, проблема может заключаться в том, что mysqld запускается с systemd и настроен на использование частного каталога / tmp, в этом случае вы найдете его внутри / tmp / systemd-namespace-XXXXXX /

См. http://fedoraproject.org/wiki/Features/ServicesPrivateTmp

И вы не найдете его с помощью locate, поскольку updatedb не хранит файлы, расположенные в / tmp.

person DiegoG    schedule 26.07.2013