MYSQL數據導出與導入,secure_file_priv參數設置


 

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=”/”即可將數據導出到任意目錄 
https://img2.mukewang.com/5b3ed5d100015b3807280436.jpg

如何以上設置還是不行,就參考http://blog.csdn.net/qq_28921653/article/details/54174341


作者:QQ595454159
鏈接:https://www.imooc.com/article/41883
來源:慕課網
本文原創發布於慕課網 ,轉載請注明出處,謝謝合作


免責聲明!

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



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