MySQL

2016-06-02 31 views
10

üzerinde veri yüklemesi için güvenli bir özelleştirme devre dışı bırakma Windows 10 makinede MySQL 5.7 çalıştırıyorum. onları değiştirmek için ayarlarıMySQL

Error Code: 1290. The MySQL server is running with the --secure-file-priv 
option so it cannot execute this statement 

Ben 1 var) işaretli: Bu konudaki tüm SO dizileri arasında okuduktan sonra hâlâ verilerim yüklemek ve bu hatanın geçmiş olsun nasıl çözemedim Veri kümemi kaydettiğim dizinden yüklenebilir, 2) MySQL'i yönetici olarak açtı ve komut satırını kontrol ettim ve güvenli dosyanın gerçekten dizinimi işaret ettiğini doğruladı, 3) ve init dosyasında onaylandı dosyamı içeren doğru dizine işaret ediyor. Veri kümesinin yerini değiştirmeyi denedim, bu yüzden yeni bir klasörde olurdu ve yukarıda açıklanan yöntemlerle taşındığını doğruladı ve hala çalışmadı.

Her türlü yardım memnuniyetle karşılanacaktır, teşekkürler.

+0

ini dosyası komut satırı argümanları ile geçersiz kılınabilir. "Canlı" ayarının ne olduğunu görmek için '% güvenli%' gibi değişkenleri göstermeniz gerekir. –

+0

"VARIABLES LIKE 'secure_file_priv' seçeneğini belirledim;" ve veri kümemin kaydedildiği dizine geri döndü. Bunu gerçek komut satırında yapmak aynı sonuçları gösterir. – dataelephant

+0

Tam komut geri dönüşlerini çalıştırma: "require_secure_transport": "off", "secure_auth": "on", "secure_file_prive": dosyamın kaydedildiği dizin. – dataelephant

cevap

7

Sorunu yeniden oluşturamıyorum.

mysql> SELECT VERSION(); 
+-----------+ 
| VERSION() | 
+-----------+ 
| 5.7.13 | 
+-----------+ 
1 row in set (0,00 sec) 

mysql> SELECT @@GLOBAL.secure_file_priv; 
+---------------------------+ 
| @@GLOBAL.secure_file_priv | 
+---------------------------+ 
| NULL      | 
+---------------------------+ 
1 row in set (0,00 sec) 

-- USE ... 

mysql> LOAD DATA INFILE '/var/lib/mysql-files/myfile.csv' 
    -> INTO TABLE `test_files` 
    -> COLUMNS TERMINATED BY ',' ENCLOSED BY '\"' 
    -> LINES TERMINATED BY '\n'; 
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv 
option so it cannot execute this statement 

Değişim dosyası: /etc/mysql/my.cnf

[mysqld] 
. 
. 
. 
secure_file_priv=/var/lib/mysql-files/ 
. 
. 
. 

Yeniden MySQL.

mysql> SELECT @@GLOBAL.secure_file_priv; 
+---------------------------+ 
| @@GLOBAL.secure_file_priv | 
+---------------------------+ 
| /var/lib/mysql-files/  | 
+---------------------------+ 
1 row in set (0,00 sec) 

mysql> LOAD DATA INFILE '/var/lib/mysql-files/myfile.csv' 
    -> INTO TABLE `test_files` 
    -> COLUMNS TERMINATED BY ',' ENCLOSED BY '\"' 
    -> LINES TERMINATED BY '\n'; 
Query OK, 3 rows affected (0,00 sec) 
Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 

Eğer ithal edilmektedir dizinde 6.1.4 Server System Variables :: secure_file_priv

+0

Cevabınız için teşekkür ederim, ancak sonunda fark ettim ki eğik çizgiler yerine bir geri çekildi * facepalm * Cevabınızı bir yıldız verdim ve iş için onay işareti :) – dataelephant

0
  1. Kontrol OS ayrıcalıkları bakın.
  2. Verilerinizi "LOAD DATA kullanılarak CVS" yoluyla almaya çalışırken, yerel seçeneği kullanın.