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

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
923 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!

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