我有一个PHP脚本,该脚本调用MySQL LOAD DATA INFILE以从CSV文件加载数据。但是,在生产服务器上,我遇到以下错误:
LOAD DATA INFILE
用户被拒绝访问…(使用密码:是)
作为快速的解决方法,我将命令更改为有效的命令LOAD DATA LOCAL INFILE。但是,同一命令在客户端的服务器上失败,并显示以下消息:
LOAD DATA LOCAL INFILE
此MySQL版本不允许使用命令
我认为这事做与服务器变量:local_infile = off如描述在这里。
local_infile = off
请提出一种不涉及更改服务器设置的解决方法。请注意,虽然我不确定它使用的是安装在同一服务器上的phpMyAdmin实用程序,似乎可以接受CSV文件LOAD DATA (LOCAL) INFILE。
LOAD DATA (LOCAL) INFILE
遇到与root相同的问题,把我扔了一会儿
可能是您的服务器设置与编译设置有关的问题
测试使用同一用户登录到控制台并尝试使用load data命令
如果出现相同的错误,请尝试关闭控制台并运行
mysql -u USER -p --local-infile=1 DATABASE
现在尝试再次运行load data命令
如果有效,那么您将需要使用命令行选项重启mysqld或使用配置选项重新安装
参考(参考适用于5.0,但对我来说适用于5.5):
http://dev.mysql.com/doc/refman/5.0/en/load-data- local.html
http://dev.mysql.com/doc/refman/5.0/en/mysql-command- options.html#option_mysql_local- infile