首页/数据/数据库速查/LOAD DATA 批量导入与 mysqlimport

LOAD DATA 批量导入与 mysqlimport

大批量数据导入的首选:LOAD DATA LOCAL INFILE 读客户端文件,服务端版本读服务器路径;比逐条 INSERT 快一个数量级。

数据库速查数据更新于 2026-10-12
用途批量文本导入
语法LOAD DATA [LOCAL] INFILE 'file' INTO TABLE tbl
工具mysqlimport

导入 CSV

导入 CSV
LOAD DATA LOCAL INFILE '/tmp/orders.csv'
INTO TABLE orders
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '
'
IGNORE 1 LINES
(sku, qty, amount);

命令行工具方式

命令行工具方式
mysqlimport --local -uroot -p appdb /tmp/orders.txt
# 文件基名要与表名一致:orders.txt → orders 表
LOCAL 方式需客户端与服务端都允许(local_infile=ON),云数据库常禁用;大批量导入期间注意主从延迟。

易错点

  • local_infile 默认在 8.0 客户端已启用、服务端可能禁用,报错先查两侧开关
  • 导入期间大量 binlog 写入会拉高复制延迟,低峰期执行更稳

数据来源与参考

  • MySQL 8.0 Reference Manual: LOAD DATA Statement

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌