首頁  >  文章  >  資料庫  >  如何修復“錯誤代碼:1290。MySQL 伺服器正在使用 --secure-file-priv 選項運行...”?

如何修復“錯誤代碼:1290。MySQL 伺服器正在使用 --secure-file-priv 選項運行...”?

Linda Hamilton
Linda Hamilton原創
2024-10-26 07:19:03357瀏覽

How to Fix

遇到錯誤:MySQL 伺服器安全文件權限限制語句執行

您遇到了錯誤「錯誤代碼:1290。MySQL 伺服器正在使用--secure-file-priv 選項運行,因此無法執行此語句”,同時嘗試執行涉及使用INTO OUTFILE 命令的MySQL 語句。

錯誤原因:

secure-file-priv選項限制MySQL可以寫入檔案的目錄以提高安全性。預設情況下,此選項限制 MySQL 寫入外部目錄。

立即解決方案(非設定變更):

解決此問題的快速解決方法是確定允許MySQL 寫入檔案的目錄:

<code class="sql">mysql> SHOW VARIABLES LIKE "secure_file_priv";</code>

確定允許的目錄後,修改INTO OUTFILE 語句以使用此目錄作為目標:

<code class="sql">SELECT *
FROM xxxx
WHERE XXX
INTO OUTFILE '/var/lib/mysql-files/report.csv'
    FIELDS TERMINATED BY '#'
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'</code>

永久解決方案(設定變更):

Windows:

  1. 導覽至Windows 服務中的MySQL 服務設定。
  2. 開啟「服務設定」部分指定的「my.ini」檔案。
  3. 找到「[mysqld]」群組,新增或修改「secure-file-priv」選項指定允許的目錄。例如:

    <code class="ini">[mysqld]
    secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.6/Uploads"</code>
  4. 重新啟動 MySQL 服務。

Linux:

  1. 開啟MySQL 設定文件,通常位於「/etc/my.cnf」或「/etc/mysql/my. cnf」。
  2. 找到「[mysqld]」群組並新增或修改「secure- file-priv」選項來指定允許的目錄。例如:

    <code class="ini">[mysqld]
    secure-file-priv="/var/lib/mysql-files/"</code>
  3. 重新啟動 MySQL 服務。

以上是如何修復“錯誤代碼:1290。MySQL 伺服器正在使用 --secure-file-priv 選項運行...”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn