将数据库表转储到文本文件

时间:2013-02-22 11:52:22

标签: mysql windows-server-2008

我试图通过运行以下查询将MySQL数据库中的表转换为文本文件

 SELECT fields FROM text_file_table INTO OUTFILE 'C:\\Program Files\\textfile.text'

但它给了我错误    无法创建/写入文件“C:\ Program Files \ textfile.text”

我认为这是由于安全问题,它不允许DBMS在该目录上写入文件。如果还有其他问题,请告诉我,并帮助我找到问题的解决方案。我在Windows Server 2008上这样做。谢谢!

2 个答案:

答案 0 :(得分:0)

可能有两个问题。该命令在操作系统中运行为' mysql'所以' mysql'用户可能没有权限在c:\ Program Files中写入。它不应该,所以这很好。如果将目标路径更改为可以写入的位置,则此问题将消失。

另一个问题是,您在mysql内部登录的用户可能没有读取和写入文件的权限 - 请参阅http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_file。如果这是问题所在,您必须为您的用户GRANT提供权限。

答案 1 :(得分:0)

我认为问题在于路径。如果您使用的是Windows

文件路径在查询中应该是这样的

'C:/Program Files/textfile.txt'

或试试这个,我不确定

'C:\Program Files\textfile.txt'

还在文件名=>中使用文本内的txt。 textfile.text