mysql如何配置secure_file_priv
mysql配置secure_file_priv
1、secure_file_priv 配置項控制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()的使用權限。
- secure_file_priv 設置值為 NULL 時,表示限制mysqld不允許導入或?qū)С觥?/li>
- secure_file_priv 設置值為 /dir目錄時,表示限制mysqld只能在/dir目錄中執(zhí)行導入導出,其他目錄不能執(zhí)行。
- secure_file_priv 沒有值時,表示不限制mysqld在任意目錄的導入導出,不建議這么設置,不安全。
2、可以使用show variables like 'secure_file_priv'查看配置參數(shù)值
3、secure_file_priv不能使用set global 方式修改,需要再my.ini或my.conf配置文件中修改,重啟mysql服務后生效
mysql secure_file_priv屬性相關的文件讀寫權限
問題復現(xiàn)
執(zhí)行以下sql 導出數(shù)據(jù)時,出現(xiàn)安全問題。
select * from a_test into outfile 'd:/ent.txt' ;
異常信息
查詢:
查詢:select * from a_test into outfile 'd:/ent.txt'
錯誤代碼: 1290
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
查詢 secure_file_priv 的值
show global variables like '%secure%';
查詢結果
Variable_name | VALUE |
require_secure_transport | OFF |
secure_file_priv | C:\\ProgramData\\MySQL\\MySQL SERVER 8.0\\Uploads\\ |
secure_file_priv 參數(shù)解析:
參數(shù)值 | 說明 |
null | 不允許導入導出 |
指定文件夾( C:\\ProgramData\\.. ) | mysql的導入導出只能發(fā)生在指定的文件夾 |
secure_file_priv 不設置 | 沒有任何限制 |
解決方式
設置secure-file-priv為空,就不會對導入導出的文件位置進行限制了
在mysql.ini文件修改
secure-file-priv=
修改完成后,重啟 MySQL服務,重新執(zhí)行就能執(zhí)行成功
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
如何解決mysql執(zhí)行導入sql文件速度太慢的問題
文章介紹了一種通過修改MySQL導出命令參數(shù)來優(yōu)化大SQL文件導入速度的方法,通過對比目標庫和導出庫的參數(shù)值,并使用優(yōu)化后的參數(shù)進行導出,再在目標庫導入,顯著提高了導入速度2024-11-11修改Innodb的數(shù)據(jù)頁大小以優(yōu)化MySQL的方法
這篇文章主要介紹了修改Innodb的數(shù)據(jù)頁大小以優(yōu)化MySQL的方法,Innodb是MySQL下一個頗具人氣的數(shù)據(jù)引擎,需要的朋友可以參考下2015-05-05