如何修復 MySQL 錯誤 1290:「MySQL 伺服器正在使用 --secure-file-priv 選項運行,因此無法執行此語句」?

Linda Hamilton
發布: 2024-10-27 13:08:02
原創
756 人瀏覽過

How to Fix MySQL Error 1290:

MySQL 錯誤1290:安全檔案私有選項阻止資料匯出

執行涉及使用INTO OUTFILE 將資料匯出到檔案的MySQL 語句時子句時,使用者可能會遇到錯誤「錯誤代碼:1290。MySQL 伺服器正在使用--secure-file-priv 選項運行,因此無法執行此語句。」當伺服器配置了限製檔案操作的增強安全措施時,就會發生這種情況。

安全文件私有選項的說明

--secure-file-priv 選項限制MySQL 伺服器內的檔案存取和權限。預設情況下,啟用此選項並將特定目錄指定為唯一允許進行檔案操作的位置。任何嘗試存取或寫入此指定目錄之外的檔案都將導致錯誤 1290。

簡單解決方案:將路徑限制為允許的目錄

要解決此錯誤而不進行修改伺服器設定中,使用者可以在INTO OUTFILE 子句中顯式指定允許的目錄:

SELECT *
FROM xxxx
WHERE XXX
INTO OUTFILE '<path/to/permitted/directory>/report.csv'
FIELDS TERMINATED BY '#'
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
登入後複製

取代使用secure_file_priv 選項允許的實際目錄路徑。

替代解決方案:

  • 停用安全檔案私有選項:
這需要編輯設定檔(通常是my.ini 或my.cnf)。註解掉或刪除 secure_file_priv 選項或將其設為空字串 (``)。但是,這會降低伺服器安全性,並且只能在受控環境中進行。

  • 授予使用者檔案權限:
如果您需要檔案存取權限超出允許的目錄,可以將FILE權限授予執行使用者。這可以使用以下 SQL 語句來完成:

以上是如何修復 MySQL 錯誤 1290:「MySQL 伺服器正在使用 --secure-file-priv 選項運行,因此無法執行此語句」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!