MySQL 安全檔案權限:解決寫入檔案時出現的錯誤1290
MySQL 的--secure-file-priv 選項限制語句的執行寫入檔案。啟用此選項時,嘗試使用 INTO OUTFILE 子句將查詢結果寫入檔案時會出現此錯誤。
解決方案:
找出允許的寫入路徑
檢查@@GLOBAL.secure_file_priv 系統變數的值以決定允許MySQL 寫入檔案的目錄:
<code class="sql">SELECT @@GLOBAL.secure_file_priv;</code>
Ubuntu 16.04: 寫入指定路徑,例如:
<code class="sql">SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';</code>
Mac OSX (MAMP ):
建立.my.cnf 檔案:
停用安全檔案權限(不建議):
將@@GLOBAL.secure_file_priv 系統變數設為NULL:
<code class="sql">SET GLOBAL secure_file_priv=NULL;</code>
注意: 此方法存在允許不受信任的程式碼寫入伺服器上的任意位置的風險。它只能用作臨時措施。
以上是如何修復 MySQL 錯誤 1290:使用 INTO OUTFILE 時「無法建立/寫入檔案」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!