当前位置: 首页 > 工具软件 > data2db > 使用案例 >

mysql load data sql_mysql:执行LOAD DATA LOCAL 报错

逄征
2023-12-01

mysql:执行LOAD DATA LOCAL 报错。

我使用navicat for mysql 连接 mysql服务器执行local 可以正常执行 。

show VARIABLES like  '%local%infile%'

结果如下:

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| local_infile  | ON    |

+---------------+-------+

1 row in set (0.00 sec)

使用SecureCRT连接到mysql服务器执行

load /usr/local/mysql/bin/mysql -uroot -h192.168.0.2 -proot databaseName  -e "LOAD DATA LOCAL INFILE 'data.txt' into table test(name,sex) "

就报错。

错误如下:

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:

LOAD DATA LOCAL INFILE  The used command is not allowed with this MySQL version

是在没办法就在mysql 命令中加上了 --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) "

--local-infile=1解释如下:是否使服务器支持LOAD DATA LOCAL INFILE  命令。

默认情况下,服务器是支持的 。所以默认情况下 --local-infile=1 的 。

所以在一般情况下执行

/usr/local/mysql/bin/mysql -uroot -h192.168.0.2 -proot databaseName  -e "LOAD DATA LOCAL INFILE 'data.txt' into table test(name,sex) "

是不会报错的。

如果报错了 ,就显示加上--local--infile=1 就行了。

over!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 类似资料: