我正在尝试将MySQL表导出到csv文件。 我使用以下查询,我认为是正确的:
SELECT *
INTO OUTFILE 'result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY 'n'
FROM Table
但是,当我尝试在phpmyadmin的SQL查询框中运行查询时,我从MySQL收到以下错误消息:
1045 - Access denied for user 'user'@'localhost' (using password: YES)
我联系了我的主人,他无法理解,因为看起来我拥有所有正确的权限。
答案 0 :(得分:2)
正如Causes of Access-Denied Errors所述:
如果您能够连接到MySQL服务器,但在发出
SELECT ... INTO OUTFILE
或LOAD DATA INFILE
语句时收到Access denied
消息,请在user
表中输入没有启用FILE
权限。
答案 1 :(得分:1)
问题是您的MySQL用户没有FILE
权限。这意味着它无法将输出保存到文件中。
GRANT FILE ON [database_name].[table_name] TO 'user'@'localhost';
编辑:忽略上述内容。刚看了这个&似乎你不能只将FILE
授予一个数据库。更多details here。所以你需要这样做:
GRANT FILE ON *.* TO 'user'@'localhost';
如果您的ISP未授予您FILE
访问权限,那么可能有一些基于PHP代码的提示here可以提供帮助。