文章目录
使用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亿的数据,五个小时左右