我是MySQL新手的Java开发人员.
我想使用PHPMyAdmin执行加载数据操作.验证加载数据脚本,因为它在我的Windows操作系统配置上运行良好.在尝试从CSV加载数据时,我得到:
The used command is not allowed with this MysqL version
版本详情如下
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
.........................
我尝试多次使用 – 重启apache和MysqL –
sudo服务MysqL重启
sudo service apache2 restart
对我来说没有任何帮助我使用PHPmyadmin执行操作的功能.使用下面的命令
MysqL -u root -p --local-infile test
我能够通过MysqL提示成功执行加载数据操作.由于我在块中有多个CSV并且每个块都有sql加载脚本,因此我想使用PHPmyadmin一次性运行它(由$分别加载脚本).
请帮我解决这个问题.
关于堆栈溢出,我已经通过了以下答案
> ERROR 1148: The used command is not allowed with this MySQL version
> LOAD DATA LOCAL INFILE gives the error The used command is not allowed with this MySQL version
[UPDATE]
变量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;
解决方法:
我的朋友.这个错误的原因很少.
> PHP.ini的MysqL.allow_local_infile值不正确.必须是 – MysqL.allow_local_infile = On
>如果您在本地工作,可以尝试从SQL查询中删除LOCAL.也许MysqL服务器设置不允许您使用LOCAL关键字
>只有当你使用cPanel时:问题是cPanel接口内置的PHPMyAdmin不使用用apache构建的PHP.所以你可以整天重建apache并且它不会改变PHP的编译方式[来自cPanel论坛]
希望这会帮助你.