Windows下MYSQL读取文件为NULL

只记录解决问题的方法。mysql

mysql 版本: 5.7.18sql

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

 SELECT LOAD_FILE("D:\aa.txt");函数

可是执行时老是返回为空。各类斜线都尝试了。post

 

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

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

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

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

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

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

 
1
show global variables like '%secure%' ;

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

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

secure_file_priv =

保存,重启mysql。

执行命令查看:

 

再次执行loadfile:

问题解决。

~~~~~
相关文章
相关标签/搜索