1. 程式人生 > >關於mysql資料庫匯入資料慢的解決方法

關於mysql資料庫匯入資料慢的解決方法

mysqldump匯入慢的解決方法
mysql匯出的SQL語句在匯入時有可能會非常非常慢,經歷過匯入僅45萬條記錄,竟用了近3個小時。在匯出時合理使用幾個引數,可以大大加快導 入的速度。
-e 使用包括幾個VALUES列表的多行INSERT語法;
–max_allowed_packet=XXX 客戶端/伺服器之間通訊的快取區的最大大小;
–net_buffer_length=XXX TCP/IP和套接字通訊緩衝區大小,建立長度達net_buffer_length的行。
注意:max_allowed_packet和net_buffer_length不能比目標資料庫的設定數值 大,否則可能出錯。
首先確定目標庫的引數值
mysql>show variables like ‘max_allowed_packet’;
mysql>show variables like ‘net_buffer_length’;
根據引數值書寫mysqldump命令,如:
E:\eis>mysqldump -uroot -p eis_db goodclassification -e --max_allowed_packet=1048576 --net_buffer_length=16384 >good3.sql
之前2小時才能匯入的sql現在幾十秒就可以完成了。

mysql中source *sql的步驟匯入資料太慢了
把innodb_flush_log_at_trx_commit這個引數改為0 然後重啟資料庫 應該比你原來速度快100倍

mysql source 命令匯入大的sql

在mysql的安裝目錄下 找到 my.ini檔案 加入以下程式碼:

程式碼如下
interactive_timeout = 120
wait_timeout = 120
max_allowed_packet = 32M