Rumah > Artikel > pangkalan data > Bagaimana untuk Menyelesaikan Ralat MySQL 1290 (HY000): --secure-file-priv Option?
MySQL ERROR 1290 (HY000): --secure-file-priv Option
Apabila cuba mengeksport hasil skrip MySQL ke fail teks menggunakan pernyataan INTO OUTFILE, anda mungkin menghadapi ralat 1290 (HY000) disebabkan oleh pilihan --secure-file-priv. Ralat ini menandakan bahawa pelayan MySQL telah dikonfigurasikan untuk menyekat akses fail berdasarkan laluan tertentu.
Penyelesaian
Untuk menyelesaikan isu ini, anda perlu mengkonfigurasi pelayan MySQL anda untuk membenarkan akses fail ke laluan tertentu di mana anda ingin menulis hasilnya:
Untuk Ubuntu 16.04:
Gunakan arahan berikut untuk mengenal pasti direktori penulisan fail yang dibenarkan:
mysql> SELECT @@GLOBAL.secure_file_priv;
Nyatakan direktori yang dibenarkan dalam pernyataan INTO OUTFILE anda:
mysql> SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';
Untuk Mac OSX (MySQL dipasang melalui MAMP):
Semak jika pilihan secure_file_priv ditetapkan kepada NULL:
mysql> SELECT @@GLOBAL.secure_file_priv;
Jika NULL, cipta fail .my.cnf dalam direktori rumah anda:
$ vi ~/.my.cnf
Tambah baris berikut pada fail:
[mysqld_safe] [mysqld] secure_file_priv="/path/to/allowed/directory"
Sekarang, nyatakan direktori yang dibenarkan dalam pernyataan INTO OUTFILE anda:
mysql> SELECT * FROM train INTO OUTFILE '/path/to/allowed/directory/test.csv' FIELDS TERMINATED BY ',';
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL 1290 (HY000): --secure-file-priv Option?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!