Bagaimana untuk Membetulkan Ralat MySQL 1290: \'Pelayan MySQL sedang berjalan dengan pilihan --secure-file-priv jadi ia tidak dapat melaksanakan pernyataan ini\'?

Linda Hamilton
Lepaskan: 2024-10-27 13:08:02
asal
756 orang telah melayarinya

How to Fix MySQL Error 1290:

MySQL Error 1290: Secure File Private Option Blocking Data Export

Apabila melaksanakan pernyataan MySQL yang melibatkan eksport data ke fail menggunakan INTO OUTFILE klausa, pengguna mungkin menghadapi ralat "Kod Ralat: 1290. Pelayan MySQL sedang berjalan dengan pilihan --secure-file-priv jadi ia tidak dapat melaksanakan pernyataan ini." Ini berlaku apabila pelayan dikonfigurasikan dengan langkah keselamatan yang dipertingkatkan yang menyekat operasi fail.

Penjelasan Pilihan Peribadi Fail Selamat

Had pilihan --secure-file-priv akses fail dan keistimewaan dalam pelayan MySQL. Secara lalai, pilihan ini didayakan dan menetapkan direktori khusus sebagai satu-satunya lokasi yang dibenarkan untuk operasi fail. Sebarang percubaan untuk mengakses atau menulis ke fail di luar direktori yang ditetapkan ini akan mengakibatkan Ralat 1290.

Penyelesaian Mudah: Hadkan Laluan ke Direktori yang Dibenarkan

Untuk menyelesaikan ralat ini tanpa mengubah suai tetapan pelayan, pengguna boleh menyatakan secara eksplisit direktori yang dibenarkan dalam klausa INTO OUTFILE:

SELECT *
FROM xxxx
WHERE XXX
INTO OUTFILE '<path/to/permitted/directory>/report.csv'
FIELDS TERMINATED BY '#'
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
Salin selepas log masuk

Ganti dengan laluan direktori sebenar yang dibenarkan oleh pilihan secure_file_priv.

Penyelesaian Alternatif:

  • Lumpuhkan Pilihan Peribadi Fail Selamat:

Ini memerlukan pengeditan fail konfigurasi MySQL (biasanya my.ini atau my.cnf). Komen keluar atau alih keluar pilihan secure_file_priv atau tetapkannya kepada rentetan kosong (``). Walau bagaimanapun, ini mengurangkan keselamatan pelayan dan hanya perlu dilakukan dalam persekitaran terkawal.

  • Berikan Keistimewaan Fail kepada Pengguna:

Jika anda memerlukan akses fail di luar direktori yang dibenarkan, anda boleh memberikan keistimewaan FILE kepada pengguna pelaksana. Ini boleh dilakukan menggunakan pernyataan SQL berikut:

GRANT FILE ON *.* TO <username>@'<host>';
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat MySQL 1290: \'Pelayan MySQL sedang berjalan dengan pilihan --secure-file-priv jadi ia tidak dapat melaksanakan pernyataan ini\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!