"The used command is not allowed with this MySQL version"问题
大家好,我在使用mysql的时候,出现如下错误,Error line: sql:
LOAD DATA LOCAL INFILE "/opt/BOCO.DAL/NPM/ODBCTEMP/4101_11111/load2db/ecp_smt.unl" IGNORE INTO TABLE ecp_smt_11111FIELDS 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的情况下,有没有什么办法可以将这个命令开启?
希望哪位朋友能帮我解答下 谢谢大家...
另外:
1,我们的mysql是公用的 里面有很多数据,所以没办法进行重新安装。
2,执行这个语句的程序是核心的 不能变动, 因此在程序中是无法进行添加参数的...
这2个硬性条件导致我只能想办法开启下这个命令 使mysql支持这个...但是查了资料没找到 所以求大家帮帮忙 有过此类经验或者知道解决办法的朋友 为我解答下 谢谢大家!!
我尝试过更改全局变量的方法 但是依然无效...
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)
之后重新启动这个程序, 可还是会报上面这个错... mysql> show variables like 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile| ON |
+---------------+-------+
1 row in set (0.00 sec)
我查看表中此参数 好像也已经打开了的.. 你最好弄个备机;或再安装个MySQL,两个共存MySQL。
做个主备同步(replication),那么你可以在备机上做相应操作,然后在业务低峰时期,短暂的停止服务,让主备机同步追上,做个数据库切换(或IP切换绑定),就可以了。这样也能提高你系统的高可用。 kider 发表于 2013-2-26 15:17 static/image/common/back.gif
你最好弄个备机;或再安装个MySQL,两个共存MySQL。
做个主备同步(replication),那么你可以在备机上做相 ...
谢谢 你说的意思我理解了..
但是我对mysql不是很熟悉{:soso_e117:} 像你说这些内容 意思能理解 但是操作有点困难..需要查不少资料..
我有一个问题 为什么那个全局参数local_infile不能生效呢? 有可能是什么原因导致的呢..{:soso_e193:}
页:
[1]