Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL导入输出文件错误_Mysql_Csv_Into Outfile - Fatal编程技术网

MySQL导入输出文件错误

MySQL导入输出文件错误,mysql,csv,into-outfile,Mysql,Csv,Into Outfile,我对SQL非常陌生,但我必须提取存储在SQL文件中的表的一些字段 我已经安装了mysql并创建了数据库和源文件。现在我想执行一个sql请求,以便读取表的所有ELT,提取感兴趣的字段并将它们写入cvs文件: SELECT * INTO OUTFILE '/home/cr/database/Dump2/program_info.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n'

我对SQL非常陌生,但我必须提取存储在SQL文件中的表的一些字段

我已经安装了mysql并创建了数据库和源文件。现在我想执行一个sql请求,以便读取表的所有ELT,提取感兴趣的字段并将它们写入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;
运行该命令时,我收到以下错误消息:

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

有人知道怎么解决吗? 整个下午,我都在为这条消息苦苦挣扎,但没能做到

我正在Linux ubuntu上工作,我的配置文件是/etc/my.cfg

[mysqld] 只读=0 安全文件priv=“”


感谢您的帮助

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

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

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

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


MySQL可以从不同的位置读取my.ini(或my.cnf)配置文件。有关更多信息,请参阅。

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

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

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

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


MySQL可以从不同的位置读取my.ini(或my.cnf)配置文件。有关更多信息,请参阅。

检查mysqld命令行。仅仅因为该指令不在.ini/.cnf文件中并不意味着它不能在其他地方指定。我如何“检查mysqld”?BR
ps auxwww | grep mysqld
谢谢您,运行您的命令,我有以下输出:
mysql 29141 0.1 1 1.1 1915592 183236?Ssl 16:51 0:00/usr/sbin/mysqld
您使用的是什么版本的MySQL?检查mysqld命令行。仅仅因为该指令不在.ini/.cnf文件中并不意味着它不能在其他地方指定。我如何“检查mysqld”?BR
ps auxwww | grep mysqld
谢谢您,运行您的命令,我有以下输出:
mysql 29141 0.1 1 1.1 1915592 183236?Ssl 16:51 0:00/usr/sbin/mysqld
您使用的是什么版本的MySQL?我的文件将输出到secure_file_priv位置,但是否可以在该目录中放置两个子文件夹并将其输出到这些文件夹?目前,它会给我一条“权限被拒绝”的消息,但我不确定是否有一个解决方法,可以将2个不同的数据集导出到2个位置,因为它们最终仍在secure_file_priv目录中。我的文件正在输出到secure_file_priv位置,但是否可以在该目录中放置2个子文件夹并将其输出到这些文件夹?目前,它给了我一条“权限被拒绝”的消息,但我不确定是否有一个解决方法,以便我可以将2个不同的数据集导出到2个位置,因为它们最终仍位于secure_file_priv目录中。