【问题标题】:PHPMyAdmin saying: The used command is not allowed with this MySQL versionPHPMyAdmin 说:这个 MySQL 版本不允许使用的命令
【发布时间】:2014-06-09 08:31:03
【问题描述】:

我是一名刚接触 MySQL 的 Java 开发人员。

我想使用 PHPMyAdmin 执行加载数据操作。加载数据脚本已经过验证,因为它在我的 Windows 操作系统配置上运行良好。尝试从 CSV 加载数据时,我得到:

此 MySQL 版本不允许使用的命令

版本详情如下

Mysql 服务器版本: 5.5.34-0

操作系统: ubuntu0.13.04.1 (Ubuntu)

我已完成对 my.cnf 的编辑,如下所示:

[mysql]
local-infile    =1
#no-auto-rehash # faster start of mysql but no tab completition
.......................

[mysqld]
#
# * Basic Settings
#
local-infile    =1
user        = mysql
.........................

[client] 
loose-local-infile=1
root
port        = 3306
.........................

我尝试过多次重启 apache 和 mysql - sudo 服务 mysql 重启 sudo service apache2 重启

没有什么能帮助我使用 phpmyadmin 执行操作。使用以下命令时

mysql -u root -p --local-infile test

我可以通过mysql提示成功执行加载数据操作。由于我有多个 CSV 块和每个块的 SQL 加载脚本,所以我想使用 phpmyadmin 一次性运行它(加载由 $ 分隔的脚本)。

请帮我解决这个问题。 我已经完成了堆栈溢出的以下答案

  1. ERROR 1148: The used command is not allowed with this MySQL version

  2. LOAD DATA LOCAL INFILE gives the error The used command is not allowed with this MySQL version

[更新]

变量 local_infile 显示为“ON”,我已使用 phpmyadmin 上的 SQL 查询验证了这一点

SHOW VARIABLES LIKE "local%"

加载脚本

LOAD DATA LOCAL INFILE 'full_dir_path/man_final.csv'
INTO TABLE `manufact_t` 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
ESCAPED BY '\\' 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(man_sr,man_name, address, phone, fax, email, url,subdivision, @man_parent, man_id)
set man_parent=0;

【问题讨论】:

  • @Daanvn 谢谢,但我在问题中提到“mysql -u root -p --local-infile test”正在工作,这里的测试是我的 DBName。我只想启用本地加载数据。
  • 能否显示您正在使用数据上传的命令。
  • @ZafarMalik 脚本完全没问题,我可以从 mysql 提示符使用加载脚本,但我仍在更新问题以拥有该加载脚本。请在最后查看问题更新。谢谢
  • dev.mysql.com/doc/refman/5.1/en/load-data-local.html 本地加载数据的问题详情

标签: php mysql phpmyadmin


【解决方案1】:

我的朋友。此错误可能有几个原因。

  1. php.inimysql.allow_local_infile 值错误。必须是 - mysql.allow_local_infile = On

  2. 如果您在本地工作,可以尝试从 SQL 查询 中删除 LOCAL。也许 MySQL 服务器设置不允许您使用 LOCAL 关键字

  3. 仅当您使用 cPanel 时:问题是 cPanel 界面中内置的 phpMyAdmin 不使用使用 apache 构建的 php。所以你可以整天重建 apache,它不会改变 php 的编译方式[来自 cPanel 论坛]

希望这会对你有所帮助。

【讨论】:

  • 感谢您的宝贵时间,但是 mysql.allow_local_infile 的解决方案是什么,我正在使用 localhost(同一台机器上的客户端-服务器)。我在邮件中描述的一切。这是有关此问题的详细信息dev.mysql.com/doc/refman/5.1/en/load-data-local
  • 我尝试从源代码加载,但由于某些错误无法完成安装。邮件表示先前评论中的问题
  • 我已经通过删除LOCAL关键字解决了这个问题,我的mysql服务器版本是5.5.34-0。
  • 是的!我还删除了我全新的 Ubuntu 15.04 上的 LOCAL 声明。但后来我也不得不关注this answer to another post
【解决方案2】:

我的朋友,

请按照以下步骤操作:-

  1. 首先,删除所有当前安装的 MySQL 服务器

  2. 在终端运行命令 sudo apt-get --purge remove mysql-server

  3. 继续获取编译和安装源代码所需的源文件和其他包。

  4. 运行命令 sudo apt-get install mysql-source-5.5 build-essential libncurses5-dev cmake

5.进入源码所在目录

从源安装最好的部分是您可以根据需要进行配置,例如 DENABLED_LOCAL_INFILE

请点击以下链接:-

http://www.sudo-juice.com/install-mysql-5-5-from-source-ubuntu-linux/

【讨论】:

    【解决方案3】:

    我已经通过删除 LOCAL 关键字解决了这个问题。请从命令中删除 LOCAL 关键字,它将适用于 mysql 服务器版本 5.5.34-0。

    【讨论】:

      猜你喜欢
      • 2015-04-17
      • 1970-01-01
      • 2012-09-30
      • 2013-08-28
      • 2014-11-10
      • 2015-10-10
      • 2017-04-06
      • 2020-08-15
      • 2012-11-24
      相关资源
      最近更新 更多