首頁 >資料庫 >mysql教程 >如何使用 SELECT INTO OUTFILE 修復 MySQL Errcode 13(權限錯誤)?

如何使用 SELECT INTO OUTFILE 修復 MySQL Errcode 13(權限錯誤)?

Linda Hamilton
Linda Hamilton原創
2025-01-24 14:52:10729瀏覽

How to Fix MySQL Errcode 13 (Permissions Error) with SELECT INTO OUTFILE?

解決MySQL Errcode 13權限錯誤和SELECT INTO OUTFILE語句

問題:

當嘗試使用SELECT INTO OUTFILE將表數據導出到服務器默認目錄之外的CSV文件時,即使調整了權限和所有權,仍然會遇到Errcode 13(權限錯誤)。這在Ubuntu系統上,尤其是在運行AppArmor的系統上經常出現。

解決方案:

1. 檢查AppArmor狀態:

執行sudo aa-status命令來驗證mysqld是否處於強制模式。如果它出現在列表中,AppArmor很可能阻止寫入操作。

2. 編輯AppArmor配置文件:

打開/etc/apparmor.d/usr.sbin.mysqld文件,並在文件底部添加所需的目錄路徑,確保具有讀/寫權限。例如:

<code>/usr/sbin/mysqld {
    ...
    **/data/ r,
    /data/* rw,**
}</code>

3. 重新加載AppArmor配置文件:

執行sudo /etc/init.d/apparmor reload命令來應用更改。

4. 重新嘗試查詢:

重新加載AppArmor配置文件後,再次嘗試SELECT INTO OUTFILE查詢。 MySQL現在應該能夠寫入到目標目錄。

警告:

注意將MySQL寫入權限授予其默認位置之外的目錄的安全性隱患。確保已採取適當措施來保護敏感數據。

以上是如何使用 SELECT INTO OUTFILE 修復 MySQL Errcode 13(權限錯誤)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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