![](/img/trans.png)
[英]Suddenly MYSQL "Malformed packet" on LOAD DATA LOCAL INFILE after two years of working
[英]Malformed packet error during MySQL LOAD DATA LOCAL INFILE
我正在嘗試使用PHP的mysqli :: query和LOAD DATA LOCAL INFILE查詢將文件加載到MySQL(v5.1.38)innodb表中。 該查詢返回“格式錯誤的數據包”錯誤代碼2027。有什么主意嗎?
這是目標表:
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;
這是查詢:
LOAD DATA LOCAL INFILE '/path/to/file.txt'
INTO TABLE lee_datareceive
FIELDS TERMINATED BY '\t';
這是文件數據。 值以制表符分隔:
t1 t2 t3
a b c
d e f
g h i
同樣的問題。 這是權限問題。
來自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'
格式錯誤的數據包錯誤。
解:
chmod 777 /stuff.csv
PHP在其自己的權限級別上運行,並且mysql無法獲得對stuff.csv的讀取權限
如果您討厭chmod 777
則會得到一個cookie
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.