Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat MySQL 1290: \'Tidak boleh membuat/menulis ke fail\' Apabila Menggunakan INTO OUTFILE?
Keistimewaan Fail Selamat MySQL: Menyelesaikan Ralat 1290 Semasa Menulis ke Fail
Pilihan --secure-file-priv MySQL mengehadkan pelaksanaan pernyataan yang menulis ke fail. Ralat ini berlaku apabila cuba menulis hasil pertanyaan pada fail menggunakan klausa INTO OUTFILE semasa pilihan ini didayakan.
Penyelesaian:
Cari Laluan Tulis yang Dibenarkan
Semak nilai pembolehubah sistem @@GLOBAL.secure_file_priv untuk menentukan direktori tempat MySQL dibenarkan menulis fail:
<code class="sql">SELECT @@GLOBAL.secure_file_priv;</code>
Ubuntu 16.04: Tulis ke laluan yang ditentukan, contohnya:
<code class="sql">SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';</code>
Mac OSX (MAMP):
Buat Fail .my.cnf:
Lumpuhkan Keistimewaan Fail Selamat (Tidak Disyorkan):
Tetapkan pembolehubah sistem @@GLOBAL.secure_file_priv kepada NULL:
<code class="sql">SET GLOBAL secure_file_priv=NULL;</code>
Nota: Kaedah ini berisiko membenarkan kod yang tidak dipercayai untuk menulis ke lokasi sewenang-wenangnya pada pelayan. Ia hanya boleh digunakan sebagai langkah sementara.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat MySQL 1290: \'Tidak boleh membuat/menulis ke fail\' Apabila Menggunakan INTO OUTFILE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!