我正在尝试使用以下查询从 mysql 创建数据的 csv 导出:
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)
(删除了用户名,但它是正确的)
我将如何授予此用户访问权限以在服务器上创建文件?
编辑:
我将第一行更改为我的确切主页路径,但收到了同样的错误。
最佳答案
The
FILE
privilege gives you permission to read and write files on the server host using theLOAD DATA INFILE
andSELECT ... INTO OUTFILE
statements and theLOAD_FILE()
function.A user who has the
FILE
privilege can read any file on the server host that is either world-readable or readable by the MySQL server. (This implies the user can read any file in any database directory, because the server can access any of those files.) TheFILE
privilege also enables the user to create new files in any directory where the MySQL server has write access. As a security measure, the server will not overwrite existing files.
要授予 FILE
权限,请以 root 身份登录并执行:
GRANT FILE ON *.* TO 'your_user'@'localhost';
关于mysql - 授予数据库用户文件夹访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3431500/