mysql导入错误1148_解决ubuntu server mysql load data infile 导入本地文件ERROR 1148 (42000)错误。...

问题:在ubuntu server 上使用apt-get 安装完 mysql 使用 load data infile 出现错误,错误代码如下:

ERROR 1148 (42000): The used command is not allowed with this MySQL version

这是由于ubuntu server 下 mysql 默认不允许使用 load data infile命令。

解决办法:

1.安装时加上 --enable-local-infile 参数就可以了执行了。

这种方式显然只适合刚开始安装mysql 的时候。

2.可以在执行命中加上--local-infile=1 参数即可解决。

如:mysql -u root -p databaseName --local-infile=1 -e "LOAD DATA LOCAL INFILE 'data.txt' into table test(name,sex) ";

注意:实际导入过程中需要给导入的文件设置编码,导入的表设置字段等参数,由于单双引号的相互包含会出很多问题,本人在此就遇到了很多问题。比如红字部分,单引号包含一个双引号,大致意思就是忽略掉文件中的双引号。但是由于外层里层单引号嵌套会使得导入的数据有问题。所以将单引号替换为双引号,并将双引号转义。

有问题的导入命令:

mysql -u root -p wxsearch --local-infile=1 -e 'LOAD DATA LOCAL INFILE "/tmp/cxr-data-004.csv" INTO TABLE mpdata character set "utf8" fields terminated by "," enclosed by '"' (`name`, `cateid`, `appID`, `type`, `description`, `keyword`, `logo`, `qrcode`)';

正确的导入命令:

mysql -u root -p wxsearch --local-infile=1 -e 'LOAD DATA LOCAL INFILE "/tmp/cxr-data-004.csv" INTO TABLE mpdata character set "utf8" fields terminated by "," enclosed by "\"" (`name`, `cateid`, `appID`, `type`, `description`, `keyword`, `logo`, `qrcode`)';

主要是将 enclosed by '"' 替换为 enclosed by "\""

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值