mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式)
首先将要导入的数据文件top5000W.txt放入到数据库数据目录/var/local/mysql/data/${db_name}/ 下,并确保导入用户拥有这个txt文件的权限,否则会报Error 13错误
1.tablename换myisam,我们的场景对事务没啥要求,innodb引擎速度太慢了,原来导入12个小时都没导完2.导入前修改参数和禁止索引更新mysql>SETSESSIONBULKINSERTBUFFERSIZE=256217728;mysql>SETSESSIONMYISAMSORTBUFFERSIZE=256217728;mysql>setglobalKEYBUFFERSIZE=256217728;mysql>altertable{table_name} disable keys;
mysql> LOAD DATA INFILE "top5000W.txt" INTO TABLE tablenameFIELDSTERMINATEDBY′,′LINESTERMINATEDBY′\n′(id,day,appids,id1,id2,id3,combinerate,activenums,idsize)3.导入后mysql>ALTERTABLE{table_name} ENABLE KEYS;
耗时统计:
LOAD DATA INFILE... 这步耗时8分钟左右
ALTER TABLE... 这步耗时12分钟左右