Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan MySQL Errcode 13 (Permissions Error) dengan SELECT INTO OUTFILE?
Soalan:
Apabila cuba menggunakan SELECT INTO OUTFILE untuk mengeksport data jadual ke fail CSV di luar direktori lalai pelayan, anda masih menemui Errcode 13 (ralat kebenaran) walaupun selepas melaraskan kebenaran dan pemilikan. Ini kerap berlaku pada sistem Ubuntu, terutamanya sistem yang menjalankan AppArmor.
Penyelesaian:
1. Semak status AppArmor:
Jalankan perintah sudo aa-status
untuk mengesahkan sama ada mysqld berada dalam mod penguatkuasaan. Jika ia muncul dalam senarai, AppArmor berkemungkinan besar menyekat operasi tulis.
2. Edit fail konfigurasi AppArmor:
Buka fail /etc/apparmor.d/usr.sbin.mysqld
dan tambah laluan direktori yang diingini di bahagian bawah fail, pastikan anda mempunyai kebenaran membaca/menulis. Contohnya:
<code>/usr/sbin/mysqld { ... **/data/ r, /data/* rw,** }</code>
3. Muat semula fail konfigurasi AppArmor:
Laksanakan perintah sudo /etc/init.d/apparmor reload
untuk menggunakan perubahan.
4. Cuba semula pertanyaan:
Selepas memuatkan semula fail konfigurasi AppArmor, cuba pertanyaan SELECT INTO OUTFILE sekali lagi. MySQL kini sepatutnya boleh menulis ke direktori sasaran.
Amaran:
Berhati-hati dengan implikasi keselamatan pemberian kebenaran menulis MySQL kepada direktori selain daripada lokasi lalainya. Pastikan langkah-langkah yang sesuai disediakan untuk melindungi data sensitif.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan MySQL Errcode 13 (Permissions Error) dengan SELECT INTO OUTFILE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!