天天看點

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指令 ---