我对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 =""
感谢您的帮助
答案 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。