windows 下mysql loadfile 返回NULL的解决

只记录解决问题的方法。

mysql 版本: 5.7.18

问题: 在执行mysql 函数load_file时,该函数将加载指定文件的内容,存储至相应字段。如:

 SELECT LOAD_FILE("D:aa.txt");

但是执行时总是返回为空。各种斜线都尝试了。

经过查阅资料得:https://segmentfault.com/a/1190000009333563

mysql 新版本下secure-file-priv字段 : secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。

  • ure_file_priv的值为null ,表示限制mysqld 不允许导入|导出

  • 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下

  • 当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制

如何查看secure-file-priv参数的值:

 
show global variables like '%secure%';

默认的为NULL。即不允许导入导出。

修改mysql.ini 文件,在[mysqld] 下加入

secure_file_priv =

保存,重启mysql。

执行命令查看:

再次执行loadfile:

问题解决。

原文地址:https://www.cnblogs.com/missmzt/p/7676800.html