mysql - LOAD DATA LOCAL INFILE 给出错误 The used command is not allowed with this MySQL version

标签 mysql csv load-data-infile csv-import

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

Access denied for user ... (using password: yes)

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

The used command is not allowed with this MySQL version

我假设这与服务器变量有关:local_infile = off如所述here .

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

最佳答案

遇到了和root一样的问题,让我愣了一下

可能是您使用编译设置的服务器设置有问题

测试用同一个用户登录到控制台并尝试加载数据命令

如果出现同样的错误,尝试关闭控制台并运行

mysql -u USER -p --local-infile=1 DATABASE

现在尝试再次运行加载数据命令

如果它有效,那么您将需要使用命令行选项重新启动 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

关于mysql - LOAD DATA LOCAL INFILE 给出错误 The used command is not allowed with this MySQL version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31035812/

相关文章:

iphone - 使用 CHCSVParser 的基础介绍

python - df = pd.read_csv ('iris.csv' ) 指向 azure blob 报告中的文件 [errno 2] 没有这样的文件或目录

MySQL infile 忽略标题行

mysql - 如何在mysql中使用STR_TO_DATE创建 View ?

php - 如何在 PHP 变量中获取 UUID() 的结果?

python - Pandas 读取没有标题或索引的数据

mysql - 我想在此 mysql 语句中使用哪个逻辑运算符?

asp.net - 使用 SQL Server ERROR : "The LOAD DATA SQL construct or statement is not supported" 在 Visual Studio 中加载数据输入文件

Php, MySql 从两个表求和

mysql - Spring Boot/MySql::SQLException:用户 'user1' @'dhcp-etc' 的访问被拒绝(使用密码:YES)