百万行超大csv文件如何快速导入mysql

场景:本地将一个几百万数据的csv文件导入测试机房mysql(暂无权限登录机器),直接使用mysql workbench导入功能特别慢

1、首先通过mysql命令行工具执行LOAD DATA LOCAL INFILE导入到一个本地开发环境的mysql库;
命令行登录mysql(由于使用导入文件,所以需要加参数--local-infile=1)

mysql --local-infile=1 -h 127.0.0.1 -P 3306 -u root -p

导入命令

LOAD DATA LOCAL INFILE '~/11-1.csv'
INTO TABLE t_my_table_name
FIELDS TERMINATED BY ','
IGNORE 1 LINES
(field1,field2,field3,field4,field5,field6)
;

执行效果:(命令行工具果然快,之前的导入方式都是按小时计算的)

mysql> LOAD DATA LOCAL INFILE '~/11-1.csv'
    -> INTO TABLE t_my_table_name
    -> FIELDS TERMINATED BY ','
    -> IGNORE 1 LINES
    -> (field1,field2,field3,field4,field5,field6)
    -> ;
Query OK, 748679 rows affected (9.39 sec)
Records: 748679  Deleted: 0  Skipped: 0  Warnings: 0

mysql官方参考文档:https://dev.mysql.com/doc/refman/5.7/en/load-data.html

2、通过mysql workbench的Migration Wizard工具导入在测试机房的mysql服务器;

posted @ 2021-05-30 12:51  liqipeng  阅读(3312)  评论(0编辑  收藏  举报