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:

問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM