我想将数据从mysql导出到txt。
我用
从users2选择*到outfile'C:\ ProgramData \ MySQL \ MySQL Server 5.7 \ Uploads \ 1.txt'
但是有一个错误:
ERROR 1290(HY000):MySQL服务器正在运行--secure-file-priv选项,因此无法执行此语句
我尝试解决: 显示'%secure%'等变量; 结果是:
+ -------------------------- + ------------------- ----------------------------- + | Variable_name |价值| + -------------------------- + ---------------------- -------------------------- + | require_secure_transport |关闭| | secure_auth | ON | | secure_file_priv | C:\ ProgramData \ MySQL \ MySQL Server 5.7 \ Uploads \ | + -------------------------- + ---------------------- -------------------------- +
我在上面使用的路径。 所以我不知道如何解决它。
答案 0 :(得分:0)
您可能想要查看有关此问题的MySQL文档,here:
文档引用了以下几点:
secure_file_priv
可以设置如下:
- 如果为空,则变量无效。这不是一个安全的设置。
- 如果设置为目录名称,则服务器会将导入和导出操作限制为仅适用于该目录中的文件。目录必须存在;服务器不会创建它。
- 如果设置为
起允许此值NULL
,则服务器会禁用导入和导出操作。从MySQL
5.7.6。
根据以上所述,您必须在my.cnf
中明确指定此内容,如下所示:
""
secure_file_priv=""
值
NULL
secure_file_priv=NULL
值
secure_file_priv=My_Specific_Output_Folder
这样,您可能希望决定可用的选项,并在my.cnf
文件中进行必要的更改并重新启动MySQL服务器服务。重新启动服务后,您应该能够从查询中导出数据。
希望这有帮助!