命令行MySQL查询导出输出到Windows中不工作的文件
mysql的版本是适用于Win64(AMD64)的mysql版本14.14发行版5.5.53 在运行以下命令后,输出仍然转到命令行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服务
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