MySQL导入输出文件错误
我对SQL非常陌生,但我必须提取存储在SQL文件中的表的一些字段 我已经安装了mysql并创建了数据库和源文件。现在我想执行一个sql请求,以便读取表的所有ELT,提取感兴趣的字段并将它们写入cvs文件: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'
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”?BRps 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目录中。