将MySQL表导出为CSV文件

时间:2014-05-03 14:45:02

标签: mysql csv

我正在尝试将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)

我联系了我的主人,他无法理解,因为看起来我拥有所有正确的权限。

2 个答案:

答案 0 :(得分:2)

正如Causes of Access-Denied Errors所述:

  

如果您能够连接到MySQL服务器,但在发出SELECT ... INTO OUTFILELOAD 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可以提供帮助。

相关问题