免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11669 | 回复: 10
打印 上一主题 下一主题

【讨论中】The used command is not allowed with this MySQL version [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-25 16:28 |只看该作者 |倒序浏览
本帖最后由 cenalulu 于 2013-02-25 17:10 编辑

大家好,我在使用mysql的时候,出现如下错误,

Error line: sql:
LOAD DATA LOCAL INFILE "/opt/BOCO.DAL/NPM/ODBCTEMP/4101_11111/load2db/ecp_smt.unl" IGNORE INTO TABLE ecp_smt_11111  FIELDS TERMINATED BY '      ' ;
Error, execute info:
The used command is not allowed with this MySQL version

通过网上查询,发现有2个方法进行解决,
1.由于MYSQL编译安装时默认不允许执行这个命令。
1)安装时加上 --enable-local-infile 参数就可以了执行了。
./configure --prefix=/usr/local/mysql --enable-local-infile
make  
make install

2.可以在执行命中加上--local-infile=1 参数即可解决。
如:/usr/local/mysql/bin/mysql -uroot -h192.168.0.2 -proot databaseName --local-infile=1 -e "LOAD DATA LOCAL INFILE 'data.txt' into table test(name,sex) "


我安装mysql时选择是默认安装, 所以我想问下:不重新安装mysql的情况下,有没有什么办法可以将这个命令开启?
希望哪位朋友能帮我解答下 谢谢大家... {:3_200:}

再次十分感谢!!

论坛徽章:
0
2 [报告]
发表于 2013-02-25 16:33 |只看该作者
1,我们的mysql是公用的 里面有很多数据,所以没办法进行重新安装。
2,执行这个语句的程序是核心的 不能变动, 因此在程序中是无法进行添加参数的...

这2个硬性条件导致我只能想办法开启下这个命令 使mysql支持这个...但是查了资料没找到 所以求大家帮帮忙 有过此类经验或者知道解决办法的朋友 为我解答下 谢谢大家!!{:3_193:}

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
3 [报告]
发表于 2013-02-25 17:11 |只看该作者
服务器全局配置这个参数即可
set global local_infile=1 ;

论坛徽章:
0
4 [报告]
发表于 2013-02-25 17:57 |只看该作者
回复 3# cenalulu

nios2[/]#mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 621617
Server version: 5.1.39 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set global local_infile=1;
Query OK, 0 rows affected (0.00 sec)


之后重新启动这个程序, 可还是会报上面这个错...


请问版主,是我操作的不对吗?  为什么我还是不行


   

论坛徽章:
0
5 [报告]
发表于 2013-02-25 18:01 |只看该作者
mysql> show variables like 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | ON    |
+---------------+-------+
1 row in set (0.00 sec)
我查看表中此参数 好像也已经打开了的..

论坛徽章:
13
双鱼座
日期:2013-10-23 09:30:05数据库技术版块每日发帖之星
日期:2016-04-20 06:20:00程序设计版块每日发帖之星
日期:2016-03-09 06:20:002015亚冠之塔什干火车头
日期:2015-11-02 10:07:452015亚冠之德黑兰石油
日期:2015-08-30 10:07:07数据库技术版块每日发帖之星
日期:2015-08-28 06:20:00数据库技术版块每日发帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龙
日期:2014-12-03 14:45:52酉鸡
日期:2014-07-23 09:46:23亥猪
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
6 [报告]
发表于 2013-02-26 08:48 |只看该作者
写配置文件里面local_infile=1 ;

论坛徽章:
0
7 [报告]
发表于 2013-02-26 09:48 |只看该作者
若还还不行,编辑file文件,使用source命令导入。

论坛徽章:
0
8 [报告]
发表于 2013-02-26 11:30 |只看该作者
todayhero 发表于 2013-02-26 09:48
若还还不行,编辑file文件,使用source命令导入。


写一个文件abc.
nios2[/opt/BOCO.DAL/NPM/xiao]#cat abc
set global local_infile=1 ;
nios2[/opt/BOCO.DAL/NPM/xiao]#mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3187971
Server version: 5.1.39 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> source /opt/BOCO.DAL/NPM/xiao/abc
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

nios2[/opt/BOCO.DAL/NPM/xiao]#xxx.pl                #---这里进行执行程序
Create and Load Data to ecp_smt_11111......
Error line: sql:
LOAD DATA LOCAL INFILE "/opt/BOCO.DAL/NPM/ODBCTEMP/4101_11111/load2db/ecp_smt.unl" IGNORE INTO TABLE ecp_smt_11111  FIELDS TERMINATED BY '      ' ;
Error, execute info:
The used command is not allowed with this MySQL version

Can't call method "finish" on an undefined value
at /opt/BOCO.DAL/NPM/common/mbin/loadtxt2db/load_txt2_db_pm.pl line 140.

我的操作全过程就是这些,可是依然会报这个错误..不清楚是什么原因造成的..

请问有没有其他办法可以进行呢? 这个问题困扰好长时间了..

我的系统是hp-ux系统,安腾平台IA64 11.31版本.

希望朋友帮我再想想办法吧 谢谢个位了..{:3_194:}

论坛徽章:
0
9 [报告]
发表于 2013-02-26 11:33 |只看该作者
我的意思是把你load file的内容,改为DDL语句后再执行source

你的情况应该是改为insert

论坛徽章:
0
10 [报告]
发表于 2013-02-26 11:47 |只看该作者
todayhero 发表于 2013-02-26 11:33
我的意思是把你load file的内容,改为DDL语句后再执行source

你的情况应该是改为insert


嗯 我当时也想这么做 但是确实是由于硬性条件的限制 没办法这么做..在第二楼有说明的,

2,执行这个语句的程序是核心的 不能变动, 因此在程序中是无法进行添加参数的...

因为这个程序是核心的 不能改动 他是自动生成的sql语句.. 所以想问下 有其他办法可以直接解决这个问题吗? 谢谢了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP