https://www.imooc.com/article/41883
MySQL 報錯
[Code: 1290, SQL State: HY000] The MySQL server is running with the –secure-file-priv option so it cannot execute this statement
通過show variables like ‘%secure_file_priv%’;
secure_file_priv參數說明
這個參數用來限制數據導入和導出操作的效果,例如執行LOAD DATA、SELECT … INTO OUTFILE語句和LOAD_FILE()函數。這些操作需要用戶具有FILE權限。
如果這個參數為空,這個變量沒有效果;
如果這個參數設為一個目錄名,MySQL服務只允許在這個目錄中執行文件的導入和導出操作。這個目錄必須存在,MySQL服務不會創建它;
如果這個參數為NULL,MySQL服務會禁止導入和導出操作。這個參數在MySQL 5.7.6版本引入
附操作:
secure_file_priv mysqld 用這個配置項來完成對數據導入導出的限制、
例如我們可以通過 select * from tempdb.t into outfile ‘/home/mysql/t.txt’; 把tempdb.t 表的數據導出來;這個導出操作可以面臨如下問題
1、任何一個mysql用戶只要它能執行上面的sql語句、並且執行成功;那么它就把文件寫到了/home/mysql/目錄下?
如果有一個壞人他一直導出數據到文件目錄,那么總有一天會被寫滿的!
2、沒有辦法限制只能把文件導出到/tmp/目錄
我們可以通過secure_file_priv 來完成對導入|導出的限制
secure_file_priv
1、限制mysqld 不允許導入 | 導出
mysqld –secure_file_prive=null
2、限制mysqld 的導入 | 導出 只能發生在/tmp/目錄下
mysqld –secure_file_priv=/tmp/
3、不對mysqld 的導入 | 導出做限制
cat /etc/my.cnf
[mysqld]
secure_file_priv
-
導出到任意目錄
在進行數據導出的時候出現–secure-file-priv option so it cannot execute this statement
問題時,修改/etc/mysql/mysql.conf.d/mysqld.cnf文件,如圖
在末尾添加一句secure_file_priv=”/”即可將數據導出到任意目錄 
如何以上設置還是不行,就參考http://blog.csdn.net/qq_28921653/article/details/54174341
作者:QQ595454159
鏈接:https://www.imooc.com/article/41883
來源:慕課網
本文原創發布於慕課網 ,轉載請注明出處,謝謝合作
