MySQL 中LOAD DATA INFILE 的存取被拒絕
在MySQL 中,使用LOAD DATA INFILE 語句可能會導致存取被拒絕的錯誤,例如如「#1045 - 使用者'user'@'localhost' 的存取被拒絕(使用密碼:YES)。」
此錯誤通常表示執行查詢的目前使用者沒有足夠的權限來載入資料一個文件到一個表中。若要解決此問題,請確保使用者俱有必要的權限。
特別是需要授予使用者 FILE 權限。此權限允許使用者從伺服器的檔案系統讀取檔案。如果沒有此權限,使用者將無法存取指定的檔案。
要授予使用者 FILE 權限,請執行下列查詢:
<code class="sql">GRANT FILE ON *.* TO user_name;</code>
將 user_name 替換為使用者名稱您要授予權限的使用者的名稱。
此外,請考慮將 LOCAL 關鍵字加入 LOAD DATA INFILE 語句中。 LOCAL 關鍵字指示 MySQL 從客戶端電腦而不是伺服器的檔案系統讀取檔案。在某些情況下,這可以更有效率、更安全。
以下是使用 LOCAL 修改語句的範例:
<code class="sql">LOAD DATA LOCAL INFILE 'path/to/file.csv' INTO TABLE table_name;</code>
以上是為什麼在 MySQL 中使用 LOAD DATA INFILE 時出現「存取被拒絕」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!