一尘不染

LOAD DATA LOCAL INFILE给出错误该MySQL版本不允许使用的命令

mysql

我有一个PHP脚本,该脚本调用MySQL LOAD DATA INFILE以从CSV文件加载数据。但是,在生产服务器上,我遇到以下错误:

用户被拒绝访问…(使用密码:是)

作为快速的解决方法,我将命令更改为有效的命令LOAD DATA LOCAL INFILE。但是,同一命令在客户端的服务器上失败,并显示以下消息:

此MySQL版本不允许使用命令

我认为这事做与服务器变量:local_infile = off如描述在这里

请提出一种不涉及更改服务器设置的解决方法。请注意,虽然我不确定它使用的是安装在同一服务器上的phpMyAdmin实用程序,似乎可以接受CSV文件LOAD DATA (LOCAL) INFILE


阅读 889

收藏
2020-05-17

共1个答案

一尘不染

遇到与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

2020-05-17