只记录解决问题的方法。
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参数的值:
1
|
show global variables like \'%secure%\' ; |
默认的为NULL。即不允许导入导出。
修改mysql.ini 文件,在[mysqld] 下加入
secure_file_priv =
保存,重启mysql。
执行命令查看:
再次执行loadfile:
问题解决。