命令行MySQL查询导出输出到Windows中不工作的文件

命令行MySQL查询导出输出到Windows中不工作的文件,mysql,sql,windows,Mysql,Sql,Windows,mysql的版本是适用于Win64(AMD64)的mysql版本14.14发行版5.5.53 在运行以下命令后,输出仍然转到stdout mysql -uroot -proot DBinstance select * from tablename\G INTO OUTFILE 'c:\users\12345\Downloads\some_non_existingfile' 上面的命令有什么问题 编辑: 重新更正select查询后,我得到以下错误: 错误1290(HY000):MySQL服务

mysql的版本是适用于Win64(AMD64)的mysql版本14.14发行版5.5.53

在运行以下命令后,输出仍然转到
stdout

mysql -uroot -proot DBinstance

select * from tablename\G INTO OUTFILE 'c:\users\12345\Downloads\some_non_existingfile'

上面的命令有什么问题

编辑:

重新更正
select
查询后,我得到以下错误:

错误1290(HY000):MySQL服务器正在使用--secure文件priv opti运行
因此它无法执行此语句

mysql> SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv | NULL  |
+------------------+-------+
1 row in set (0.00 sec)
当前
G:\..\mysql>dir
有文件夹
bin
data
lib
scripts
&
tmp
删除\G标志

select * from tablename INTO OUTFILE 'c:\users\12345\Downloads\some_non_existingfile'
你还需要确保 MySQL服务器未使用--secure file priv选项运行

允许将输出写入文件夹的步骤 通过添加/修改以下行来添加或修改mysql配置文件(my.ini)

secure-file-priv = ""

然后使用重新启动mysql服务器

net stop mysql
net start mysql
关于设置的一些信息

如果为空,则变量无效

如果设置为目录名,则服务器将导入和导出操作限制为仅处理该目录中的文件。目录必须存在;服务器将不会创建它


如果设置为NULL,服务器将禁用导入和导出操作。从MySQL 5.7.6开始,此值是允许的。

MySQL是否有在该位置写入的权限?另外,正如您所知,该文件不可能已经存在。我已经修改了我的答案,以说明如何更改ecure_file_priv设置如何验证secure file priv选项?@overexchange show变量,如“secure_file_priv”@过交换设置很可能在my.ini文件中。我是否可以设置并取消设置此选项以导出查询输出?Db正在生产中…不,我相信这只是一个启动设置。如果您运行SHOW变量,如“secure_file_priv”;您也可以查看可以输出的文件夹,也许您有权访问该文件夹?
net stop mysql
net start mysql