问题复现:
执行以下sql 导出数据时,出现安全问题。
select * from a_test into outfile 'd:/ent.txt' ;
异常信息:
查询:select * from a_test into outfile 'd:/ent.txt' 错误代码: 1290The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
查询 secure_file_priv 的值
show global variables like '%secure%';
查询结果:
Variable_name
|
VALUE
|
require_secure_transport
|
OFF
|
secure_file_priv
|
C:\\ProgramData\\MySQL\\MySQL SERVER 8.0\\Uploads\\
|
secure_file_priv 参数解析:
参数值 |
说明
|
null
|
不允许导入导出
|
指定文件夹(
C:\\ProgramData\\..
)
|
mysql的导入导出只能发生在指定的文件夹
|
secure_file_priv 不设置
|
没有任何限制
|
解决方式
设置secure-file-priv为空,就不会对导入导出的文件位置进行限制了
在mysql.ini文件修改
secure-file-priv=
修改完成后,重启
MySQL服务,重新执行就能执行成功