使用MySQL导入亿级数据:load data local infile

使用MySQL命令load data local infile导入亿级数据

需求

研究车联网,手中有一个16G左右的数据,为了能够方便处理数据,需要将数据存入MySQL中

解决方案

1、使用 Navicat

1、先建表
2、导入向导,选择源文件的格式

导入小数据速度还可以,但是尝试导入亿级数据时,粗略计算需要一星期(最终放弃)

2、使用load data local infile

1、先建表
2、管理员启动cmd ,启动 mysql

mysql -u root -p --local-infile=1

3、使用 load data local infile 命令导入数据

load data local infile "文件/位置" into table 数据库名.表名 fields terminated by '分隔符';

例如
文件路径 / ,最好不要存在中文

load data local infile "D:/koln.txt" into table cologne.koln1 fields terminated by ' ';
遇到的问题1:ERROR 1148 (42000)
ERROR 1148 (42000): The used command is not allowed with this MySQL version
解决办法

查看 local_infile 的设置是否为off(分步执行下面命令;然后重启mysql)一定要重新启动
查看 local_infile 的状态

SHOW GLOBAL VARIABLES LIKE 'local_infile';

如果是off,使用命令设置为on

SET GLOBAL local_infile = 'ON'; 

再次确认是否设置成功

SHOW GLOBAL VARIABLES LIKE 'local_infile';

然后重启mysql,再执行载入数据命令

3、结果

3.5亿的数据,五个小时左右
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值