1. 首页>
  2. 技术文章>
  3. mysql8.0大数据插入的话用in-file这个参数

mysql8.0大数据插入的话用in-file这个参数

4/24/24 8:13:01 AM 浏览 1010 评论 0

mysql

在使用 LOAD DATA INFILE 之前,需要确保MySQL配置中的相关参数设置正确,以便能够处理大型文件。这些配置可能包括:

1) local_infile - 为了使用 LOAD DATA LOCAL INFILE,你需要确保这个参数设置为ON。

2) max_allowed_packet - 这个参数设置了MySQL服务器允许的最大数据包大小。如果你导入的数据行非常大,可能需要增加这个值。

3) secure_file_priv - 这个参数可以限制 LOAD DATA INFILE 可以读取文件的目录。如果设置了这个参数,你只能从这个目录读取文件。

要检查和设置这些参数,可以使用以下SQL命令:

SHOW GLOBAL VARIABLES LIKE 'local_infile';
SET GLOBAL local_infile = 1;
SHOW VARIABLES LIKE 'max_allowed_packet';
SET GLOBAL max_allowed_packet = 104857600; -- 例如,设置为100MB
SHOW VARIABLES LIKE 'secure_file_priv';

在导入大数据文件之前,还可以考虑关闭索引以加快导入速度,并在导入完成后重新开启索引。对于InnoDB表,可以使用以下命令:

ALTER TABLE your_table DISABLE KEYS;
-- 执行 LOAD DATA INFILE 命令
ALTER TABLE your_table ENABLE KEYS;

当然也可以直接在配置文件中修改就好:

local_infile = 1


网友讨论