Vraag mysql laad data infile kan stat-bestand niet krijgen Errcode: 2


Ik heb overal gekeken en geen oplossing gevonden, alle hulp hierbij zou geweldig zijn.

Query:

LOAD DATA INFILE '/Users/name/Desktop/loadIntoDb/loadIntoDB.csv' 
INTO TABLE `tba`.`tbl_name` 
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(
field1, field2, field3
)

Fout:

Can't get stat of '/Users/name/Desktop/loadIntoDb/loadIntoDB.csv' (Errcode:2)

NOTITIE:

Ik voer MySQL Query-browser uit op OSX 10.6.4 verbinding met MySQL 5.x

Dingen die ik heb geprobeerd:

  • Sleepen en plaatsen
  • Chmod 777
  • Plaats een map met 777-rechten evenals het bestand met 777 toestemmingen

57
2017-08-12 19:49


oorsprong


antwoorden:


probeer te gebruiken LOAD DATA LOCAL INFILE in plaats van LOAD DATA INFILE 

controleer anders of apparmor is actief voor je directory


109
2017-08-12 20:10



Ik had een soortgelijk probleem. De resolutie was een licht lelijke hack, maar veel gemakkelijker te onthouden dan tijdelijke oplossingen, mits je kunt 'sudo'. Eerst moest ik het invoerbestand in de submap mysql plaatsen voor de database die ik gebruikte:

sudo cp myfile.txt /var/lib/mysql/mydatabasename

Dit doet een kopie en verlaat 'root'als de eigenaar van het bestand. Na in mysql te zijn aangekomen en een USE mydatabasename, Ik kon het geschikte gebruik van de tabel vullen

LOAD DATA INFILE 'mytabdelimitedtextfile.txt' INTO TABLE mytablename;

9
2017-09-17 16:50



Het gebruik van de parameter --local helpt hierbij.

Voorbeeld: mysqlimport --local databasename file.txt -p

bron: http://dev.mysql.com/doc/refman/5.1/en/load-data.html "De optie - localal zorgt ervoor dat mysqlimport gegevensbestanden van de clienthost leest"


1
2017-08-03 23:55



Voor mij was het kopiëren van de inhoud naar / tmp en het gebruiken van die inhoud de map. Ik gebruik MariaDB en mijn versie staat het gebruik van de "LOCAL" -modifier niet toe. Interessant is dat het geven van lees-schrijftoegang tot de CSV-map ook niet werkte.


1
2018-06-21 16:29



Ik had hetzelfde probleem bij het vullen van een tabel in mysql op een AWS-instantie.

In mijn geval had ik het csv-bestand in de instantie zelf.

Het Absolute pad zetten loste mijn probleem op.

Dit is de regel uit de MySQL-documentatie

Als LOCAL is opgegeven, wordt het bestand door het clientprogramma op de clienthost gelezen en naar de server verzonden. Het bestand kan als volledige padnaam worden gegeven om de exacte locatie op te geven. Als deze naam wordt gegeven als een relatieve padnaam, wordt de naam geïnterpreteerd ten opzichte van de directory waarin het clientprogramma is gestart.

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


0
2017-07-04 11:30