MySQL进入输出文件错误

时间:2016-07-13 14:31:59

标签: mysql csv into-outfile

我对SQL很新,但我必须提取存储在sql文件中的表的一些字段。

我已安装mysql并创建数据库并获取文件。现在我想执行一个sql请求,以便读取表中的所有元素,提取有趣的字段并将它们写入cvs文件:

SELECT * INTO OUTFILE '/home/cr/database/Dump2/program_info.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' FROM program_info;

运行命令时出现以下错误消息:

  

ERROR 1290(HY000):MySQL服务器正在运行--secure-file-priv选项,因此无法执行此语句

有谁知道如何解决它? 我整个下午都在努力解决这个问题,但不能。

我正在使用Linux ubuntu,我的配置文件是/etc/my.cfg

  

的[mysqld]   只读= 0   secure-file-priv =""

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

MySQL实际上是按预期工作的。 MySQL服务器使用--secure-file-priv选项启动,这基本上限制了您将输出保存到随机目录中。您需要检查启动参数。

为此,请在MySQL shell中运行以下命令:

SHOW VARIABLES LIKE 'secure_file_priv';

输出将是MySQL服务器当前认为的允许位置。您应该能够将输出保存到此位置。

要禁用此限制,您需要编辑声明它的配置文件,并在更改选项后重新启动MySQL服务器。

MySQL可以从各种位置读取my.ini(或my.cnf)配置文件。有关详细信息,请参阅Using Option Files