MySQL:仍然不能't LOAD DATA LOCAL inffile '/path/to/file.


MySQL: Still can't LOAD DATA LOCAL INFILE '/path/to/file.txt' INTO TABLE test FIELDS TERMINATED BY ' '

使用Ubuntu Server 14.04 x64/PHP 5.5.9-1ubuntu4 (cli) w/FPM/MySQL InnoDB version 5.5.35

我已经创建了一个PHP脚本,从远程服务器下载文本文件,然后尝试导入它与LOAD DATA LOCAL INFILE '/path/to/file.txt' INTO TABLE test FIELDS以''n'结尾

我已经完成了修改php.ini文件的过程:
[MySQL]
; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
; http://php.net/mysql.allow_local_infile
mysql.allow_local_infile = On

我已经修改了my.cnf ([mysql]和[mysqld]条目):

local-infile=1
local-infile

我已经从终端运行MySQL,然后发出:

SET GLOBAL local_infile = 'ON';
我已经手动启动和停止MySQL:
sudo /etc/init.d/mysql start --enable-local-infile

在这些命令之后,我可以运行SHOW GLOBAL VARIABLES LIKE 'local_infile';并且它总是显示值为ON。我没有任何问题,执行我的LOAD DATA命令从MySQL提示符,但如果我试图运行LOAD DATA存储在PHP文件错误:

这个MySQL版本不允许使用这个命令

从我所读到的,似乎有一些人建议用"——with-mysql=/usr"重新编译PHP,但这对我来说似乎是一个真正的大锤方法,也许我错了。我可以发出任何MySQL查询,除了从PHP文件。我做错了什么?

您必须在/etc/mysql/my.cnf文件中写入两次以下行

sudo gedit /etc/mysql/my.cnf

then under paragraph [mysql]和段落[mysqld]

添加以下行:

local-infile=1

然后保存文件

然后重启