授予数据库用户文件夹访问

hoo*_*ter 3 mysql privileges mysql-error-1045

我正在尝试使用以下查询从mysql创建csv数据导出:

SELECT * INTO OUTFILE '/tmp/result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM getfreepellets WHERE 1
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

#1045 - Access denied for user '[username]'@'localhost' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

(删除了用户名,但它是正确的用户名)

如何授予此用户访问权限以在服务器上创建文件?

编辑:

我将第一行更改为我的确切主路径,并收到相同的错误.

Dan*_*llo 5

您可能希望为GRANT您的用户提供以下FILE权限:

FILE权限允许您使用LOAD DATA INFILESELECT ... INTO OUTFILE语句和LOAD_FILE()函数在服务器主机上读取和写入文件.

拥有该FILE权限的用户可以读取服务器主机上的任何文件,该文件是世界可读的或MySQL服务器可读的.(这意味着用户可以读取任何数据库目录中的任何文件,因为服务器可以访问任何这些文件.)该FILE权限还允许用户在MySQL服务器具有写访问权限的任何目录中创建新文件.作为安全措施,服务器不会覆盖现有文件.

要授予FILE权限,请以root用户身份登录并执行:

GRANT FILE ON *.* TO 'your_user'@'localhost';
Run Code Online (Sandbox Code Playgroud)