2013-08-26 9 views
27

próbuję wczytać dane do bazy danych MySQL za pomocąERROR 1148: Komenda używana jest niedozwolone z tej wersji MySQL

LOAD DATA LOCAL 
INFILE A.txt 
INTO DB 
LINES TERMINATED BY '|'; 

tematem to pytanie jest odpowiedź dostanę. Rozumiem, że lokalne rozładowywanie danych jest domyślnie wyłączone i muszę je włączyć za pomocą komendy local-infile=1, ale nie wiem, gdzie umieścić to polecenie.

Odpowiedz

48

Można określić, że jako dodatkową opcję podczas konfigurowania połączenia klienta:

mysql -u myuser -p --local-infile somedatabase 

Dzieje się tak dlatego, że funkcja otwiera lukę bezpieczeństwa. Musisz więc włączyć go ręcznie, na wypadek gdybyś naprawdę chciał go użyć.

+1

Pracowałem dla mnie, dzięki! – kylexy1357

+0

Witam - Czy możesz pomóc mi rozwiązać ten błąd. – Teja

+0

@SOaddict em ... _what_ error? – arkascha

9

http://dev.mysql.com/doc/refman/5.6/en/load-data-local.html

umieścić to w my.cnf - sekcja [client] powinien już tam być (jeśli nie jesteś zbyt zaniepokojeni bezpieczeństwem).

[client] 
loose-local-infile=1 
+1

Wszelkie pomysły na temat tego, gdzie można się udać, jeśli nadal się nie uda. Dodałem local-infile = 1 do pliku my.cnf w [client], [mysqld] i [mysql] i użyłem ich kombinacji. Wszystkie z tymi samymi wynikami. Próbowałem ponownie uruchomić workbench, ale bez powodzenia. Zatrzymałem się i uruchomiłem workbench mySQL między każdą zmianą. – OrwellHindenberg

+1

aktualizacja mySQL do wersji 6.2.5 rozwiązała ten problem dla mnie – OrwellHindenberg

+0

@ OrwellHindenberg - użyłeś ** loose ** - local-infile = 1 - masz tylko lokalny-infile. –

5

Wszystko to nie rozwiąże go dla mnie na moim nowym Ubuntu 15.04.

usunąłem LOCAL i dostał polecenie:

LOAD DATA 
INFILE A.txt 
INTO DB 
LINES TERMINATED BY '|'; 

ale potem mam:

MySQL said: File 'A.txt' not found (Errcode: 13 - Permission denied) 

To doprowadziło mnie do this answer from Nelson to another question on stackoverflow który rozwiązał problem dla mnie!

Powiązane problemy