我正在尝试使用以下查询从 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)
(删除了用户名,但这是正确的)
我将如何授予该用户在服务器上创建文件的访问权限?
Edit:
我将第一行更改为我的确切主路径,并收到相同的错误。
你可能想要GRANT您的用户FILE特权:
The FILE
特权授予您使用以下命令读取和写入服务器主机上的文件的权限LOAD DATA INFILE
and SELECT ... INTO OUTFILE
声明和LOAD_FILE()
功能。
拥有以下权限的用户FILE
权限可以读取服务器主机上任何世界可读或可由 MySQL 服务器读取的文件。 (这意味着用户可以读取任何数据库目录中的任何文件,因为服务器可以访问这些文件中的任何一个。)FILE
权限还允许用户在 MySQL 服务器具有写访问权限的任何目录中创建新文件。作为一项安全措施,服务器不会覆盖现有文件。
授予FILE
权限,以 root 身份登录并执行:
GRANT FILE ON *.* TO 'your_user'@'localhost';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)