Назад | Перейти на главную страницу

Предоставить доступ к папке пользователя базы данных

Я пытаюсь создать экспорт данных в формате CSV из MySQL, используя следующий запрос:

SELECT * INTO OUTFILE '/tmp/result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM getfreepellets WHERE 1

И я получаю следующую ошибку:

#1045 - Access denied for user '[username]'@'localhost' (using password: YES)

(удалено имя пользователя, но оно верное)

Как я могу предоставить этому пользователю доступ для создания файла на сервере?

Редактировать:

Я изменил первую строку на мой точный домашний путь и получил ту же ошибку.

сначала вы должны определить, с чем ваша база данных:

use database_name;

Затем вы можете запустить свой запрос.

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

GRANT ALL ON database_name.* TO 'someuser'@'somehost';

Вы можете узнать больше об использовании Гранта на http://dev.mysql.com/doc/refman/5.1/en/grant.html

#1045 - Access denied for user '[username]'@'localhost' (using password: YES)

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

Я провел часы, пытаясь понять предложения на этой и многих других страницах StackOverflow.

Как бы я ни менял разрешения в MySql, у меня ничего не получалось.

Я вернулся к разрешениям, с которыми начал.

В конечном итоге то, что сработало для меня, оказалось проще, чем предложения других:

echo "select id, emailAddress FROM contacts" | mysql --user=myusername --password mydatabasename > /home/my_output_file.tsv