2016-07-25 3 views
-2

Я пытаюсь сохранить запрос mysql в csv. Я искал и нашел различные варианты. Этот вариант казался красивым и чистым кодом, но не работаетРезультат MySql для csv

Я получаю сообщение об ошибке

1045 - Доступ запрещен для пользователя «пользователь» @ «локальный» (используя пароль: ДА)

SELECT * 
FROM clients 
INTO OUTFILE 'mytest.csv' 

Когда я удалить INTO OUTFILE 'mytest.csv' это работает отлично

(SQL код упрощенный)

+0

может быть, добавить что-то вроде "C: /.../ mytest.txt? –

+0

@MarcElBichon. Спасибо за комментарий. По-прежнему такая же ошибка –

ответ

0

то есть ошибка разрешения для «unidimec» в localhost.check пользователя ПОИ vilege для «unidimec» и предоставить привилегию от пользователя root mysql.

+0

Пользователь имеет полную привилегию –

+0

ГРАНТ ВСЕ ПРИВИЛЕГИИ НА *. * TO 'unidimec' @ 'localhost'; затем дайте ФЛЮС ПРИВИЛЕГИИ; – Kumaresan

0

Синтаксис является

SELECT Your_Column_Name 
    FROM Your_Table_Name 
    INTO OUTFILE 'Filename.csv' 
    FIELDS TERMINATED BY ',' 
    ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
0

Я думаю, вы должны предоставить разрешение пользователя MySQL для генерации файла.

Войти с SSH (если вы выделенный сервер, в противном случае вы должны связаться с веб-хостинга поддержки)

вход в систему с корнем в MySQL с помощью следующей команды

mysql -u root -p[password] 

После входа в интерфейс тузд разрешение на гранты для этого пользователя

GRANT FILE ON *.* TO 'unidimec'@'localhost'; 
0

Прочитайте документацию «INTO OUTFILE» очень внимательно:

Оператор SELECT ... INTO OUTFILE предназначен, прежде всего, для того, чтобы вы быстро сбросили таблицу в текстовый файл на серверной машине. Если вы хотите создать результирующий файл на каком-то другом хосте, кроме хоста сервера, вы обычно не можете использовать SELECT ... INTO OUTFILE, так как нет способа написать путь к файлу относительно файловой системы хоста сервера.

Однако, если клиентское программное обеспечение MySQL установлено на удаленном компьютере, вместо этого вы можете использовать клиентскую команду, такую ​​как mysql -e «SELECT ...»> имя_файла, чтобы сгенерировать файл на клиентском хосте.

Также возможно создать результирующий файл на другом хосте, отличном от хоста сервера, если доступ к файлу на удаленном узле можно получить через сетевой путь в файловой системе сервера. В этом случае на целевой хост не требуется присутствие mysql (или какой-либо другой клиентской программы MySQL).

http://dev.mysql.com/doc/refman/5.7/en/select-into.html

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