PHPMyAdmin说:此MySQL版本不允许使用used命令

RQu*_*ube 7 php mysql phpmyadmin

我是MySQL新手的Java开发人员.

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

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

版本详情如下

Mysql Server版本: 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
.........................
Run Code Online (Sandbox Code Playgroud)

我已经尝试多次重启apache和mysql - sudo service mysql restart sudo service apache2 restart

对我来说没有任何帮助我使用phpmyadmin执行操作的功能.使用下面的命令

mysql -u root -p --local-infile test
Run Code Online (Sandbox Code Playgroud)

我能够通过mysql提示成功执行加载数据操作.由于我在块中有多个CSV并且每个块都有SQL加载脚本,因此我想使用phpmyadmin一次性运行它(由$分别加载脚本).

请帮我解决这个问题.关于堆栈溢出,我已经通过了以下答案

  1. 错误1148:此MySQL版本不允许使用used命令

  2. LOAD DATA LOCAL INFILE给出错误此MySQL版本不允许使用used命令

[UPDATE]

变量local_infile显示为"ON",我已经在phpmyadmin上使用SQL查询验证了这一点

SHOW VARIABLES LIKE "local%"
Run Code Online (Sandbox Code Playgroud)

加载脚本

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;
Run Code Online (Sandbox Code Playgroud)

Mus*_*Bit 7

我的朋友.这个错误的原因很少.

  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论坛]

希望这会帮助你.