天天看点

mysql大量数据快速导入

我遇到的是200g左右的数据,本来需要好几天挂机,在做了优化之后,确实速度提升了很多,但你还是要挂机= .= 

# 1.不要自动提交
SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;
source xxx;commit;   # 注意这一行可以写两行代码,然后挂机


# 2.bin_log关闭 + 加快数据刷新到硬盘的速度
set sql_log_bin = off;
set global innodb_flush_log_at_trx_commit=2;
show VARIABLES like '%max_allowed_packet%';
set global max_allowed_packet=10485760;

### --- 导完数据记得打开 ---
set sql_log_bin = on;


# 3.my.cnf 增加配置,增加超时时间,最大缓冲数据加大
[mysqld]
interactive_timeout = 120
wait_timeout = 120
max_allowed_packet = 32M
bulk_insert_buffer_size=100M


### --- 以上方案仅适用于mysqldump出来的出去,不适用csv数据,csv数据请尝试使用 LOAD FILE命令 ---