LOAD DATA INFILE 錯誤代碼:13
嘗試在遠端伺服器上使用LOAD DATA INFILE 指令將資料載入到MySQL 表中時,MySQL 表中時,您可能會遇到錯誤代碼:13:「無法取得'/httpdocs/.../.../testFile.csv' 的統計資料(錯誤代碼:2)」。這表示 MySQL 無法存取指定的檔案。
以下步驟可以幫助解決此問題:
1.授予足夠的權限
確保資料庫使用者有足夠的權限
GRANT SELECT, FILE, LOAD DATA ON *.* TO 'userName'@'%'
確保資料庫使用者有足夠的權限來存取該檔案。考慮授予使用者SELECT、FILE 和LOAD DATA 權限:
2.設定檔案和資料夾權限
<code class="bash">chmod 644 /httpdocs/.../.../testFile.csv chmod 755 /httpdocs/.../.../</code>
確保檔案和資料夾允許MySQL讀取文件。將檔案權限設定為 644 (rw-r--r--),將資料夾權限設定為 755 (rwxr-xr-x):
3。檢查Apparmor設定
/tmp/** rwk
在Ubuntu系統上,Apparmor可以限制MySQL對檔案的存取。若要允許MySQL 從「tmp」目錄讀取文件,請將以下行加入/etc/apparmor.d/usr.sbin.mysqld:
<code class="bash">sudo /etc/init.d/apparmor reload</code>
使用以下命令重新載入Apparmor:
4。停用SELinux
如果使用SELinux(安全增強型Linux),它還可以限製檔案存取。嘗試暫時停用它並重新執行 LOAD DATA INFILE 命令。請參閱 SELinux 文件以取得具體說明。
以上是為什麼使用 LOAD DATA INFILE 時 MySQL 無法存取我的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!