Penyelesaian Masalah MySQL Pilih ke Outfile Errcode 13
Mengeksport data ke CSV menggunakan MySQL's boleh mencetuskan ralat kebenaran Errcode 13. Ini biasanya berlaku apabila lokasi fail output bukan direktori storan lalai MySQL (sering SELECT INTO OUTFILE
). Pengguna sering menghadapi masalah ini semasa menyimpan ke direktori alternatif. /tmp
Untuk membetulkannya, laraskan profil AppArmor untuk MySQL untuk membenarkan menulis ke direktori pilihan anda:
Semak status AppArmor: Gunakan arahan ini untuk mengesahkan mod Apparmor untuk MySQL:
<code class="language-bash">sudo aa-status</code>
Edit Profil AppArmor (jika dalam mod penguatkuasa): Jika AppArmor menguatkuasakan, ubah fail . Tambah atau ubah suai baris yang memberikan akses tulis ke direktori sasaran anda. Sebagai contoh, untuk membolehkan menulis ke /etc/apparmor.d/usr.sbin.mysqld
dan subdirektori: /data/
<code>/usr/sbin/mysqld { ... **/data/ r, /data/* rw, }</code>
Reload AppArmor Profiles: Selepas mengedit profil, muat semula AppArmor:
<code class="language-bash">sudo /etc/init.d/apparmor reload</code>
Pertimbangan keselamatan yang penting: Memberi akses menulis kepada MySQL memerlukan pertimbangan yang teliti terhadap implikasi keselamatan. Melaksanakan keizinan yang mantap dan langkah -langkah keselamatan untuk mengelakkan akses data yang tidak dibenarkan.
Atas ialah kandungan terperinci Kenapa MySQL memilih ke dalam Outfile Return Errcode 13, dan bagaimana saya boleh memperbaikinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!