首頁 > 資料庫 > mysql教程 > 儘管文件權限正確,但為什麼MySQL在Errcode 13中選擇外船上的外船上失敗?

儘管文件權限正確,但為什麼MySQL在Errcode 13中選擇外船上的外船上失敗?

Barbara Streisand
發布: 2025-01-24 15:07:13
原創
621 人瀏覽過

Why Does MySQL SELECT INTO OUTFILE Fail with Errcode 13 Despite Correct File Permissions?

MySQL 的 SELECT INTO OUTFILE 錯誤代碼 13 故障排除:超出基本權限

使用 SELECT INTO OUTFILE 將 MySQL 數據導出到 CSV 可能會因 Errcode 13(權限錯誤)而受阻。雖然文件權限不足是常見的罪魁禍首,但即使目錄權限正確,問題仍然存在,這通常是由於現代 Ubuntu Server 版本中 AppArmor 的安全措施所致。

AppArmor 在 MySQL 權限中的作用

AppArmor 是一個 Linux 安全模塊,限制應用程序對系統資源的訪問。 如果 MySQL 在 AppArmor 配置文件下運行(使用 sudo aa-status 檢查;在“強制模式下的配置文件”下查找“/usr/sbin/mysqld”),其寫入訪問可能會受到限制。

解決問題:授予 AppArmor 訪問權限

允許 MySQL 寫入特定位置:

  1. 編輯 AppArmor 配置文件: 打開 /etc/apparmor.d/usr.sbin.mysqld 進行編輯。

  2. 添加寫入權限: 添加授予目標目錄讀/寫訪問權限的行。例如:

<code>/usr/sbin/mysqld {
    ...
    /data/ r,
    /data/* rw,
}</code>
登入後複製

這允許 MySQL 讀取和寫入 /data 及其子目錄。

  1. 重新加載 AppArmor: 執行 sudo /etc/init.d/apparmor reload 以應用更改。

  2. 重新啟動 MySQL:重新啟動 MySQL 服務。 重試您的 SELECT INTO OUTFILE 命令。

重要安全說明:仔細考慮通過 AppArmor 授予對 MySQL 的寫訪問權限的影響。 僅授予對絕對必要目錄的訪問權限,以最大程度地降低安全風險。

以上是儘管文件權限正確,但為什麼MySQL在Errcode 13中選擇外船上的外船上失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板