2016-06-02 9 views
10

Używam MySQL 5.7 na komputerze z systemem Windows 10. Czytałem przez wszystkich wątków tak dalej tym temacie i jeszcze nie zorientowali się, jak uzyskać moje dane do załadowania i ominąć ten błąd:Wyłącz bezpieczne prywatne ładowanie danych w MySQL

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

mam 1) sprawdzeniu ustawień, aby zmienić ich być w stanie załadować z katalogu, w którym zapisałem mój zestaw danych, 2) otworzyłem MySQL jako administrator i zaznaczyłem wiersz poleceń i potwierdziłem, że bezpieczny plik rzeczywiście wskazuje mój katalog, 3) i potwierdziłem w pliku init że wskazuje właściwy katalog zawierający mój plik. Próbowałem zmienić lokalizację zestawu danych tak, aby znalazł się w nowym folderze i potwierdził, że został przeniesiony tam za pomocą powyższych metod i nadal nie działał.

Każda pomoc będzie mile widziane, dziękuję.

+0

ini mogą być nadpisane przez argumenty wiersza polecenia. musisz zrobić "pokaż zmienne takie jak"% secure% "', aby zobaczyć, jakie jest ustawienie "na żywo". –

+0

Zrobiłem "SHOW VARIABLES LIKE" secure_file_priv '; " i zwrócił mi katalog, w którym zapisano mój zbiór danych. Wykonanie tego w wierszu poleceń pokazuje te same wyniki. – dataelephant

+0

Uruchomione polecenie zwraca: "require_secure_transport": "off", "secure_auth": "on", "secure_file_prive": katalog, w którym zapisany jest mój plik. – dataelephant

Odpowiedz

7

Nie mogę odtworzyć problemu.

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 

modyfikacji pliku: /etc/mysql/my.cnf

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

Restart 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 

Zobacz 6.1.4 Server System Variables :: secure_file_priv

+0

Dzięki za odpowiedź, jednak w końcu zdałem sobie sprawę, że był to problem z powrotem zamiast ukośników * facepalm. * Podałem twoją odpowiedź gwiazdą i znacznikiem wyboru do pracy :) – dataelephant

0
  1. przywileje Sprawdź OS na katalogu importowanego z.
  2. Podczas próby zaimportowania danych przez "CVS przy użyciu DANE LOADNE" wybierz opcję lokalną.
Powiązane problemy