有时候我们需要将大量数据批量写入数据库,直接使用程序语言和Sql写入往往很耗时间,其中有一种方案就是使用MySql Load data infile
导入文件的形式导入数据,这样可大大缩短数据导入时间。
LOAD DATA INFILE 语句以很高的速度从一个文本文件中读取行到一个表中。文件名必须是一个文字字符串。
1 命令load data local infile的设置
- 应当在/etc/mysql/my.cnf中添加这样的设置:
[mysqld] #服务端配置
local-infle = 1
[mysql] #客户端配置
local-infile = 1
否则,mysql服务会提示错误:
ERROR 1148 (42000): The used command is not allowed with this MySQL version.
客户端和服务端度需要开启
- 对于客户端也可以在执行命中加上
--local-infile=1
参数
2 编码格式
若包含中文,请保证导入文件、连接字符串、导入表都是UTF-8编码。