Portál AbcLinuxu, 13. května 2025 00:14
Chci do MySQL importovat textovy soubor umisteny v adresari
/home/tomas/
load data infile 'soubor.txt' into table knihovna;soubor.txt musi byt v pracovnim adresari MySQL. pokud pouziji prikaz:
load data infile '/home/tomas/soubor.txt' into table knihovna;soubor se neimportuje. Mam pocit, ze cesta k souboru je stale relativni k pracovnimu adresari MySQL. Asi by slo prepsat pracovni adresar v my.cnf, ale to neni reseni. Muzete mi prosim poradit reseni?
Riešenie je použiť syntax load data local
, ktorá však býva kvôli bezpečnosti vypnutá. Spusti mysql klient príkazom mysql --local-infile=1 [-u ... -p ..]
a potom by mal príkaz load data local infile '/home/tomas/soubor.txt' into table knihovna;
zafungovať.
Bližšie informácie v MySQL Reference Manual, časti 5.4.4 Security Issues with LOAD DATA LOCAL a 13.1.5 LOAD DATA INFILE Syntax.
dekuji za pomoc,prikaz funguje.
Jeste by me zajimalo, jak tento problem resi na hostingovych serverech.mysql --local-infile=1nemuze.
Ono s dátami sa v rámci PHP dajú robiť rôzne čary a väčšinou sa to už rozseká na rôzne inserty a podobne. Import zo súboru v tomto prípade väčšinou nie je potrebný (ale priznávam sa, že s tým skúsenosti nemám, s MySQL nepracujem).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.