MySQL LOAD DATA LOCAL INFILE sırasında bozuk paket hatası

1 Cevap php

Ben PHP'nin mysqli::query ve LOAD DATA LOCAL INFILE sorguyu kullanarak bir MySQL (v5.1.38) innodb tabloya bir dosyayı yüklemeye çalışıyorum. Sorgu, bir 'Bozuk paket' hata kodunu 2027 döndürür. Herhangi bir fikir ne yanlış?

Burada hedef tablo:

CREATE TABLE  `zbroom`.`lee_datareceive` (
  `a` varchar(45) NOT NULL,
  `b` varchar(45) NOT NULL,
  `c` varchar(45) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

İşte sorgu:

LOAD DATA LOCAL INFILE '/path/to/file.txt'
    INTO TABLE lee_datareceive
    FIELDS TERMINATED BY '\t';

İşte dosyası veri. Değerler sekmesi ayrılır:

t1  t2  t3
a   b   c
d   e   f
g   h   i

1 Cevap

Aynı problem. Bu izin sorun oldu.

php shell exec:

'mysql --user=root --password=zxc db < /stuff.sql'

stuff.sql

LOAD DATA LOCAL INFILE '/stuff.csv' INTO TABLE `stuff` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'

Biçimlendirilmiş paketlerin ile hataları.

Solution:

chmod 777 /stuff.csv

PHP kendi izin düzeyine ve mysql çalışan stuff.csv okuma erişimi almıyor

Eğer nefret eğer bir çerez almak chmod 777