Rumah >pangkalan data >tutorial mysql >MUAT DATA INFILE Kod Ralat 13: Mengapa MySQL Tidak Boleh Mengakses Fail Saya?

MUAT DATA INFILE Kod Ralat 13: Mengapa MySQL Tidak Boleh Mengakses Fail Saya?

Susan Sarandon
Susan Sarandonasal
2024-11-03 16:30:03773semak imbas

LOAD DATA INFILE Error Code 13: Why Can't MySQL Access My File?

MUAT DATA INFILE Kod Ralat: 13 - Panduan Teknikal

Artikel ini bertujuan untuk menyediakan penyelesaian yang komprehensif kepada kod ralat MySQL 13, yang berlaku apabila cuba memuatkan data daripada fail menggunakan pernyataan LOAD DATA INFILE.

Memahami Ralat

Kod Ralat 13 menunjukkan bahawa MySQL tidak dapat memperoleh statistik fail untuk fail yang ditentukan. Dalam pertanyaan yang diberikan, MySQL cuba memuatkan data daripada fail '/httpdocs/.../.../testFile.csv' tetapi menghadapi masalah.

Penyelesaian Masalah dan Penyelesaian

a. Semak Keistimewaan Pengguna

Pastikan pengguna pangkalan data mempunyai keistimewaan yang mencukupi untuk mengakses kedua-dua fail dan jadual pangkalan data. Dalam kes ini, 'userName' pengguna telah diberikan semua keistimewaan pada '.' dan 'userName_%', yang sepatutnya memadai.

b. Kebenaran Fail dan Folder

Sahkan bahawa fail dan folder yang mengandungi fail itu mempunyai kebenaran yang betul. Keizinan '777' (rwxrwxrwx) yang diberikan menunjukkan bahawa semua pengguna telah membaca, menulis dan melaksanakan kebenaran, yang sepatutnya mencukupi.

c. Gangguan AppArmor (Ubuntu)

Jika sistem pengendalian ialah Ubuntu, aplikasi AppArmor mungkin mengganggu akses MySQL kepada fail. Untuk menyelesaikannya:

  • Edit fail konfigurasi AppArmor (/etc/apparmor.d/usr.sbin.mysqld) dan tambah baris '/tmp/** rwk' untuk memberikan MySQL baca, tulis , dan laksanakan kebenaran ke direktori /tmp.
  • Muat semula AppArmor dengan arahan 'sudo /etc/init.d/apparmor reload'.

Petua Tambahan

  • Pastikan bahawa laluan fail yang dinyatakan dalam pertanyaan adalah tepat dan fail itu wujud di lokasi yang ditentukan.
  • Semak format fail dan pastikan ia sejajar dengan definisi import dalam pernyataan LOAD DATA INFILE.
  • Sahkan bahawa struktur jadual sepadan dengan format data dalam fail.

Atas ialah kandungan terperinci MUAT DATA INFILE Kod Ralat 13: Mengapa MySQL Tidak Boleh Mengakses Fail Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn