MySQL 安全文件权限:解决写入文件时出现的错误 1290
MySQL 的 --secure-file-priv 选项限制语句的执行写入文件。启用此选项时,尝试使用 INTO OUTFILE 子句将查询结果写入文件时会出现此错误。
解决方案:
查找允许的写入路径
检查 @@GLOBAL.secure_file_priv 系统变量的值以确定允许MySQL写入文件的目录:
<code class="sql">SELECT @@GLOBAL.secure_file_priv;</code>
Ubuntu 16.04:写入指定路径,例如:
<code class="sql">SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';</code>
Mac OSX (MAMP):
创建.my.cnf 文件:
禁用安全文件权限(不推荐):
将 @@GLOBAL.secure_file_priv 系统变量设置为 NULL:
<code class="sql">SET GLOBAL secure_file_priv=NULL;</code>
注意:此方法存在允许不受信任的代码写入的风险服务器上的任意位置。它只能用作临时措施。
以上是如何修复 MySQL 错误 1290:使用 INTO OUTFILE 时“无法创建/写入文件”?的详细内容。更多信息请关注PHP中文网其他相关文章!