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/21180458/

相关文章:

php - 与 PHP 和 MySQL 连接仅返回指定值?

mysql - 在 ASP.NET、Restful Web 服务中将 MySQL 数据显示为 JSON?

c# - 无法解析构造函数 'CsvReader(string)'

c# - 内联加载数据的替代方法

Mysql加载数据: SET IF for all or given subset of columns?

mysql - LEFT JOIN 成为隐式连接我如何修复它?

mysql - 将 PHPMyAdmin/MySQL-Workbench 连接到 MySQL 容器 (Docker)

python - 将 excel 或 csv 文件转换为 pandas 多级数据框

sql-server - 使用 SSIS 将不同的 csv 文件加载到不同的 SQL Server 表中的最佳方法是什么?

php - 加载数据文件并计算mysql中的重复行