mysql
的版本为mysql Ver 14.14 Distrib 5.5.53, for Win64 (AMD64)
运行以下命令后,输出仍将到达stdout
mysql -uroot -proot DBinstance
select * from tablename\G INTO OUTFILE 'c:\users\12345\Downloads\some_non_existingfile'
上述命令有什么问题?
编辑:
重新更正select
查询后,出现以下错误:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv opti
on so it cannot execute this statement
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
。
答案 0 :(得分:1)
删除\ G标志。
select * from tablename INTO OUTFILE 'c:\users\12345\Downloads\some_non_existingfile'
您还需要确保 MySQL服务器未使用--secure-file-priv选项运行
允许将输出写入文件夹 通过添加/修改以下行来添加或修改mysql配置文件(my.ini)。
secure-file-priv = ""
或
secure-file-priv = "FOLDER-PATH-OF-YOUR-CHOICE"
然后使用重新启动mysql服务器
net stop mysql
net start mysql
有关设置的小信息
如果为空,则该变量无效。
如果设置为目录名,则服务器将限制导入和导出操作,使其仅适用于该目录中的文件。该目录必须存在;服务器将不会创建它。
如果设置为NULL,则服务器将禁用导入和导出操作。从MySQL 5.7.6开始允许使用此值。