夥計們,我有一個應用程式使用 SELECT OUTFILE 用作另一個應用程式的緩存,因此,它直接輸出到 /dev/shm/some/folder。
由於它在後台伺服器上運行,因此禁用所有 mysql 安全性選項沒有問題安全檔案權限my.ini 中未設置,但版本預設設置,如何停用此資料夾安全性?
[MySQL Version]
/usr/sbin/mysqld Ver 5.7.12-0ubuntu1 for Linux on x86_64 ((Ubuntu))
[Ubuntu Version]
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
答案1
mysql 文件上安全檔案權限聲明該變數被設定為預設的、特定於平台的檔案系統位置,以使其預設為安全。
也就是說,您需要在配置中明確地將變數設為空字串以停用此安全功能。
對於 Ubuntu,編輯該文件/etc/mysql/mysql.conf.d/mysqld.cnf
並在末尾添加以下行:
secure_file_priv=""
然後確保重新啟動服務。
答案2
對我來說,添加到上述文件的末尾不起作用。
我將其添加到/etc/mysql/my.cnf
[mysqld] 部分的文件中並且它起作用了。
您也許可以在上面的文件中建立該部分,它也可以工作,我沒有測試它。
伺服器重新啟動後,您可以進行測試,SHOW VARIABLES LIKE "secure_file_priv";
前提是您有這樣做的權限。