Mysql 用于导出的INTO-OUTFILE查询在本地驱动器上不起作用

Mysql 用于导出的INTO-OUTFILE查询在本地驱动器上不起作用,mysql,csv,mysql-workbench,Mysql,Csv,Mysql Workbench,使用:MySQL工作台 我正试图写入我的MySQL查询,让文件使用当前日期(orders_20150214.csv)自动保存,但是即使基本保存(无日期)不起作用,我仍不断收到服务器拒绝 代码: 错误: Error Code: 1045. Access denied for user 'dddddd'@'%.dddddddd' (using password: YES) 我还尝试了上述的一些变体 USE `databasename`; Select -- complex query fr

使用:MySQL工作台

我正试图写入我的MySQL查询,让文件使用当前日期(orders_20150214.csv)自动保存,但是即使基本保存(无日期)不起作用,我仍不断收到服务器拒绝

代码:

错误:

Error Code: 1045. Access denied for user 'dddddd'@'%.dddddddd' (using password: YES)  
我还尝试了上述的一些变体

USE `databasename`;
Select   -- complex query from multiple tables -- 
-- Get Order data --
FROM table_name  -- multiple tables --
INTO OUTFILE 'E:\My Documents\2014-2015 Accs\ccccc\orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'  
我知道MySQL Workbench有一个内置的“另存为”,我使用它,但是有时我想运行查询,它会自动保存。我有一个宏,可以从.csv文件中检索数据并编译成运行的订单,我想进一步自动化它

我也尝试过:

INTO OUTFILE 'E:\\My Documents\\2014-2015 Accs\\dddd\\orders.csv'
INTO OUTFILE 'E:/My Documents/2014-2015 Accs/dddd/orders.csv'
-- http://dev.mysql.com/doc/refman/5.1/en/select-into.html
关于是否可以通过编程方式在本地计算机上保存,我读到了各种各样的消息。因此,可能无法直接通过MySQL工作台实现


请帮助:)

我很确定您收到了1045错误,因为您的用户帐户需要在MySQL服务器中被授予
文件
权限,以便尝试
进入OUTFILE
操作

您或您友好的本地管理员可以通过这样的查询来实现这一点

GRANT FILE  ON *.* TO 'user'@'host';
Gordon提到的东西仍然是正确的:MySQL服务器将输出文件写入其自己的文件系统,并且它写入的文件将归其所有。你需要复制它

如果您在Windows系统上,您可以尝试使用环境变量展开的路径。。。比如说

INTO OUTFILE 'C:\\Users\\MrsAdmin\\AppData\\Local\\Temp\\orders.csv'
在*nix系统上

INTO OUTFILE '/tmp/orders.csv'

我也会做同样的事情。然后,您可以将文件复制到需要写入的任何位置。

请记住,MySQL服务器的运行帐户通常与您的个人帐户不同(在Windows上通常是“网络服务”)。此帐户没有对“普通”文件夹的写入权限。您只需创建一个导出文件夹,并向其ACL添加具有读/写权限的“用户”。这将允许服务器在那里写入文件。

请记住:您正在与另一台机器上的MySQL服务器通信,该机器可能以其他用户的身份运行。尝试将文件保存在服务器有权访问的位置。这可能和与服务器共享本地驱动器一样简单,但很大程度上取决于您所处的安全环境。@GordonLinoff我想知道我的文件夹的权限。我不愿意共享我的“文档”文件夹,但是我可以在其他地方为此创建一个独立文件夹。我得用谷歌搜索。谢谢。通常会有一些共享文件夹,您可以在其中创建文件,然后将其复制到本地计算机。谢谢。我会检查我的设置,如果有效,我会回来并将其标记为答案,谢谢您的时间:D
INTO OUTFILE '/tmp/orders.csv'